У меня возникли проблемы с распространением моего общедоступного класса enum из моей службы WCF до моей клиентской программы. (Я хочу иметь доступ к каждому атрибуту перечисления из моей клиентской программы). (Я добавил свою службу как i Service Reference). (Для тестирования у меня есть только два 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.
Любой вход пожалуйста?
может у передислоцировать DataContract сущности новый проект и добавить ссылки от них? – Roar
Вы обновили клиент? Offtopic: Также я бы предложил сделать 'comands' свойство и правильно обложенное:' public CommandsEnum Comand {get; задавать; } '. По соглашению перечисление, которое не помечено как '[Flags]', должно быть сингулярным и множественным, если оно есть. – Silvermind
Не могли бы вы попытаться переместить enum из класса и объявить его самостоятельно? Будьте заинтересованы, чтобы решить, разрешит ли это проблему. –