SORU
9 EKİM 2008, PERŞEMBE


Paylaşım XML Servisi ile Numaralama

Aralarında# numaralama C paylaşmak istediğim birkaç farklı uygulamalar var. Oldukça düzenli bir uygulama ve XML hizmeti arasında bir sıralama beyan paylaşmak için nasıl çözemiyorum.

İşte durum. C# zaman benim masaüstü ve XML bir Java eklentisi apps tüm numaralandırma değerleri paylaşma ihtiyacı 2 hafif var.

İstemci 1

 Method1( MyEnum e, string sUserId );

2 müşteri var

Method2( MyEnum e, string sUserId );

Java eklentisi vardır

ServiceMethod1( MyEnum e, string sUserId, string sSomeData);

Benim ilk olsa numaralama için gerekli olan bütün projelerde numaralama kapsamak ve sadece bu kitaplığı başvurusu için bir kütüphane common.dll adı yaratmaktı. Ancak, XML servisin ayrılmaz bir parçası olmak için bir şeyler numaralama biçimlendirme olduğu için zor hale getirir. Bu gibi:

[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 };

...Yani. Bir şekilde XML hizmeti ve diğer applictions arasında bir sıralama payı var mı?

CEVAP
9 EKİM 2008, PERŞEMBE


Ortak kütüphane kullanarak iyi olmalı. Numaralandırma seri hale getirilebilir ve DataContract öznitelikleri gerekli değildir.

Bakın: http://msdn.microsoft.com/en-us/library/ms731923.aspx

Numaralandırma türleri. Numaralandırma, bayrak numaralandırma dahil olmak üzere, seri hale getirilebilir. İsteğe bağlı olarak, numaralandırma türleri ile işaretlenebilir DataContractAttribute öznitelik, her üye hangi seri hale getirme ile işaretlenmiş olmalıdır katılır EnumMemberAttribute bağlıyor

EDİT: Hatta bu yüzden, numaralama bir DataContract olarak işaretlenmiş olması ve istemci kitaplıkları kullanmaya olması sorun olmamalı.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • isupportthegosselins

    isupporttheg

    6 Aralık 2009
  • KRQE

    KRQE

    6 AĞUSTOS 2007
  • ShayLoss

    ShayLoss

    5 Kasım 2009