C# 完成对WCF服务的异步调用时未触发事件处理程序
我最近设法在IIS中运行WCF服务。我创建了一个简单的控制台应用程序来测试这一点。我确实单击了该选项来生成异步调用,当我创建服务客户机的实例时,我有[FunctionName]异步方法和[FunctionName]完成的事件处理程序 问题是事件处理程序从不触发。我设置了它们,并在其中放置断点。不过,断点从不开火。我知道调用了初始异步方法,但没有完成 该服务位于IIS中,已作为服务引用添加到我的项目中 以下是客户端的代码,尽管问题可能并不存在:C# 完成对WCF服务的异步调用时未触发事件处理程序,c#,wcf,C#,Wcf,我最近设法在IIS中运行WCF服务。我创建了一个简单的控制台应用程序来测试这一点。我确实单击了该选项来生成异步调用,当我创建服务客户机的实例时,我有[FunctionName]异步方法和[FunctionName]完成的事件处理程序 问题是事件处理程序从不触发。我设置了它们,并在其中放置断点。不过,断点从不开火。我知道调用了初始异步方法,但没有完成 该服务位于IIS中,已作为服务引用添加到我的项目中 以下是客户端的代码,尽管问题可能并不存在: clt.SubmitEvalCompleted +=
clt.SubmitEvalCompleted += (o, e) => {
var sender = o as EvalServiceClient;
Console.WriteLine("Submit completed");
sender.GetEvalsAsync();
};
clt.GetEvalsCompleted += (o, e) => {
var listOfEvals = e.Result;
foreach (var eval in listOfEvals)
{
Console.WriteLine("Eval: " + eval.ID + " comments: " + eval.Comments);
}
};
Eval evale = new Eval { Comments = "Comment", Submitter = "Me" };
clt.SubmitEval( evale );
clt.GetEvals();
谢谢你的阅读 只有在调用该方法的异步版本(SubmitEvalAsync、GetEvalsAsync)时才会调用事件。如果调用同步版本,将立即得到结果