كيان واحد مشترك عبر خدمتين على شبكة الإنترنت؟

StackOverflow https://stackoverflow.com/questions/175649

  •  05-07-2019
  •  | 
  •  

سؤال

أنا أعمل في مشروع حيث لدي خدمتي ويب تحتاجان إلى نفس الكيان.توجد خدمتا الويب على نفس الخادم، لذا في النهاية الخلفية، تشتركان في نفس الفئات.

على الجانب الأمامي، يستهلك الكود الخاص بي كلاهما خدمات الويب وأرى الكيانات من كلتا الخدمتين منفصلة (في مساحات أسماء مختلفة) لذا لا يمكنني استخدام الكيان عبر كلتا الخدمتين.

هل يعرف أحد طريقة للسماح لهذا بالعمل في .NET 2.0؟

لقد فعلت هذا مع الكيان الخاص بي:

[XmlType(TypeName = "Class1", Namespace = "myNamespace")]
public class Class1
{
    public int field;
}

على أمل أن "يعرف" IDE الخاص بي بطريقة أو بأخرى أن الفصل هو نفسه في كلتا خدمتي الويب بحيث لا ينشئ كيانات منفصلة لكلا الفئتين، ولكن لم يحالفني الحظ.

هل من الممكن القيام بذلك مع خدمات الويب .NET 2.0؟

هل كانت مفيدة؟

المحلول

أعتقد أنه لا يمكنك القيام بذلك من داخل VS ولكن يمكنك استخدام ملف wsdl.exe فائدة مثل هذا:

wsdl.exe /sharetypes http://localhost/MyService1.asmx?wsdl http://localhost/MyService2.asmx?wsdl

لاحظ ال /sharetypes الخيار الذي يقوم بتشغيل ميزة مشاركة النوع.تقوم هذه الميزة بإنشاء ملف تعليمات برمجية واحد بتعريف نوع واحد للأنواع المتماثلة المشتركة بين خدمات مختلفة (يجب أن تكون مساحة الاسم والاسم والتوقيع السلكي متطابقين).

مزيد من المعلومات:

نصائح أخرى

وأنا لست متأكدا من تفاصيل التنفيذ مع NET 2.0، ولكن أعتقد أن ما تريد القيام به هو وضع الطبقات الشائعة في ملف XSD منفصلة والرجوع إليه من داخل واثنين من WSDL. بهذه الطريقة، والأنواع الشائعة لها نفس مساحة بين الخدمتين.

والآن، كيف يمكنك أن تفعل هذا في .NET Framework 2.0 أنا لا يمكن أن تعطيك تفاصيل عن ...

ويمكنك التحقق من مساحة الكيان؟ تأكد من أنه هو نفسه في كل من خدمات الشبكة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top