Udostępnianie Enum z usługą WCF
Mam kilka różnych aplikacji, wśród których chciałbym udostępnić wyliczenie C #. Nie wiem, jak udostępnić deklarację enum między zwykłą aplikacją a usługą WCF.
Oto sytuacja. Mam 2 lekkie aplikacje destop C # i serwis WWW WCF, które muszą współdzielić wartości wyliczeniowe.
Klient 1 ma
Method1( MyEnum e, string sUserId );
Klient 2 ma
Method2( MyEnum e, string sUserId );
Serwis internetowy ma
ServiceMethod1( MyEnum e, string sUserId, string sSomeData);
Moim początkowym zadaniem było stworzenie biblioteki o nazwie Common.dll w celu hermetyzacji enum, a następnie odwoływanie się do tej biblioteki we wszystkich projektach, w których enum jest potrzebne. Jednak WCF utrudnia wszystko, ponieważ musisz oznaczyć enum, aby było ono integralną częścią usługi. Lubię to:
[ServiceContract]
[ServiceKnownType(typeof(MyEnum))]
public interface IMyService
{
[OperationContract]
ServiceMethod1( MyEnum e, string sUserId, string sSomeData);
}
[DataContract]
public enum MyEnum{ [EnumMember] red, [EnumMember] green, [EnumMember] blue };
Więc .... Czy istnieje sposób na dzielenie enum wśród usług WCF i innych aplikacji?