簡體   English   中英

wcf回調接口-實現第三方接口

[英]wcf callback interface - implement third party interface

我有一個接口定義,我想與解決方案中的其他程序集共享,因此我將其放在一個單獨的項目中。

public interface IName
{
    string Name { get; }
}

但是我想在定義WCF回調接口的項目中使用它:

public interface ICallback : IName
{
}

所以我將[OperationContract]屬性添加到IName接口,如下所示:

public interface IName
{
    string Name
    {
        [OperationContract(IsOneWay=false)]
        get;
    }
}

但是,當我使用svcutil時,輸出類不包含繼承的屬性。 我嘗試使用/ r標志來引用包含IName的程序集,但它仍會忽略該屬性。

我什至嘗試將[ServiceKnownType]屬性添加到回調接口,但還是沒有運氣:

[ServiceKnownType(typeof(IName))]
public interface ICallback : IName
{
}

是否可以在WCF回調中實現外部接口?

是的,接口繼承可用於WCF。

嘗試使接口公開(在其他程序集中可以訪問,如果是內部的,則可以訪問)。

我不確定WCF是否支持公共接口上的屬性。 使用某種測試方法而不是回調接口上的屬性來嘗試它。 WCF接口與C#接口的工作方式不同。 例如,WCF不支持重載。 嘗試這種方式:

public interface IName
{
    [OperationContract(IsOneWay=false)]
    string GetName();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM