我遇到了問題,從我的WCF服務共享我的公共枚舉類到我的客戶端程序。 (我希望能夠訪問我的客戶端程序中的每個枚舉屬性)。 (我已將我的服務添加爲服務參考)。 (爲了測試我只有兩個EnumMemer - 我知道..)在客戶端和WCF服務之間共享枚舉?
我有這個在我的Service.svc.cs文件:
namespace ITHelperService
{
[DataContract]
public class Service : IService
{
[DataMember]
public CommandsEnums comands;
[DataContract(Name="CommandsEnums")]
public enum CommandsEnums
{
[EnumMember]
Get_IPConfig,
[EnumMember]
Get_IPConfig_all,
Get_BIOSVersion,
Get_JavaVersion,
Get_RecentInstalledPrograms,
Get_RecentEvents,
Get_WEIScore,
Do_Ping,
Do_NSLookup
}
}
}
這是我IService.cs文件:
namespace ITHelperService
{
[ServiceContract]
[ServiceKnownType(typeof(ITHelperService.Service.CommandsEnums))]
public interface IService
{
}
}
我已經在互聯網上搜索過這個問題,看起來上面應該可以做到。 但我無法在我的客戶端程序中訪問它們。它沒有出現在intellisense中。
請輸入任何內容?
u能搬遷datacontract實體到新的項目並添加引用從這些? – Roar
你是否更新過客戶端? Offtopic:另外我會建議使'comands'屬性和適當的套裝:'公共CommandsEnum命令{get;組; }'。按照慣例,沒有標記爲「[Flags]」的枚舉應該是單數化的,如果是的話就是複數形式。 – Silvermind
你可以嘗試將enum移出課程並自行申報嗎?有興趣看看是否能解決問題。 –