繁体   English   中英

WCF服务参考未提供非异步方法

[英]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.

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