簡體   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