异步回调wcf服务r

时间:2017-08-10 10:04:48

标签: c# wcf

enter image description here

我开发的wcf服务很好,有图片中显示的Operationcontract返回数据集,我的问题是如何制作哪个Operationcontract方法asyn ??

[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;
            }
        }

1 个答案:

答案 0 :(得分:0)

public async Task GetGetEmployeeJoinDateDetailAsync(List joindateStringlist)         {             尝试             {                 字符串脚本;                 列表outlist = new List();                 generateScripts gs = new generateScripts();                 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;
        }
    }