[英]WCF Service Reference not giving non-async methods
我最近用C#制作了WCF服务,并将其托管在运行IIS 8的服务器上。
在本地进行测试时,一切工作正常,我能够成功测试所有方法。 当我尝试在一个单独的项目中向该WCF服务添加服务引用时,我的问题就来了,尽管我从未将任何方法实现为async
方法,但此时它公开的唯一方法是async
方法。
方法的一个示例是:
public string getName(User user)
{
return user.name;
}
当我在Visual Studio中对其进行测试时,可以像这样简单地完成工作,但是当我将其托管在IIS中并尝试添加服务引用时,似乎可以调用或访问的唯一方法是:
getNameAsync
即使我一开始从未将其实现为async
,为什么还要这样做呢? 最重要的是,当我首先添加服务引用时,无法取消选中“生成异步方法”。
有任何想法吗?
编辑:作为参考,我正在尝试在引用该服务的Windows 8.1应用程序中测试这些方法。
这是生成代码的方式。 通常,您还会找到一个名为GetNameCompleted的事件,您已在客户端代码中为其订阅了这样的事件(在创建方法ClientGetNameCompleted之后):
client.GetNameCompleted += ClientGetNameCompleted ;
在这种方法中,您将使用服务结果。 像这样的东西:
private void ClientGetNameCompleted (object sender, GetNameCompletedEventArgs e)
{
if (e.Result != null)
{
// use the e.Result that contains the returned data;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.