简体   繁体   English

异步回叫wcf服务r

[英]asynchronous call back wcf service r

在此处输入图片说明

i was develop wcf service which is fine,there is Operationcontract return dataset showed in picture, my question is how do i make which Operationcontract method asyn ?? 我正在开发wcf服务,很好,图片中显示了Operationcontract返回数据集,我的问题是如何使哪种Operationcontract方法异步?

[OperationContract(Name ="GetBirthday")]
        [WebGet]
        DataSet GetEmployeeBirthDateDetail(List<string> birthdayStringlist, out string userExceptionMessage);

   public  DataSet GetEmployeeBirthDateDetail(List<string> birthdayStringlist , out string message)
        {
            try
            {
                string scripts;
                List<string> outlist = new List<string>();
                generateScripts gs = new generateScripts();
                StringValidation sv = new StringValidation();
                DataSet ds = new DataSet();
                message = sv.validate(birthdayStringlist, out outlist);

                if (message == "")
                {

                    scripts = gs.GenerateScripts(outlist, employeetype.GenerateScripts_BdayEmp);
                    message = "success";
                    return  api.GetEmployeeDetails(scripts);
                }

                else
                {
                    message = "No records to provide";
                    return null;
                }
            }
            catch (Exception ex)
            {

                message = ex.Message;
                WriteToLog(ex.Message);
                return null;
            }
        }

public async Task GetGetEmployeeJoinDateDetailAsync(List joindateStringlist) { try { string scripts; 公共异步任务GetGetEmployeeJoinDateDetailAsync(List joindateStringlist){试试{字符串脚本; List outlist = new List(); 列表outlist = new List(); generateScripts gs = new generateScripts(); generateScripts gs = new generateScripts(); StringValidation sv = new StringValidation(); StringValidation sv = new StringValidation();

            if (sv.validate(joindateStringlist, out outlist) == "")
            {

                scripts = gs.GenerateScripts(outlist, employeetype.GenerateScripts_NewJoin);
                return await Task.Factory.StartNew(() => api.GetEmployeeDetails(scripts)) ;
            }
            else
            {
                return null;
            }

        }

        catch (Exception ex)
        {

            WriteToLog(ex.Message);
            return null;
        }
    }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM