باستخدام خدمة ويب دروس سيلفرلايت عند إضافة مرجع الخدمة بدلا من مرجع ويب

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

سؤال

السيناريو:

أنا باستخدام سيلفرلايت 3.0 كما عميل خدمة ويب.

التصميم:

الملقم فئة اسمه DeviceInfoService الذي يحتوي على الوظائف الأساسية للحصول على قائمة الأجهزة ، الحصول على خصائص الأجهزة وما إلى ذلك.

عند فتح ASP.NET مشروع محاولة إضافة مرجع ويب يمكنني العثور على خيار لإضافة "مرجع ويب".بعد إضافة مرجع ويب بهذه الطريقة, وأنا قادرة على الوصول إلى DeviceInfoService الطبقة عن طريق إنشاء كائن ثم الدخول إليها أساليب.

مرجع ويب v/s الخدمة المرجعية:

القادمة إلى Silverlight:عند محاولة إضافة خدمة مرجعية ، لا يوجد خيار إضافة مرجع ويب.الذهاب مع خدمة مرجع, كل شيء يعمل بشكل جيد حتى ملف WSDL يتم تحميلها.الناس يقولون أنني يمكن الحصول على هذا الخيار من خلال العودة إلى .NET 2.0, ولكن ربما سيلفرلايت لن يعمل .NET 2.0

المشكلة

الآن عندما أحاول الوصول إلى الطبقة DeviceInfoService أنا لست قادرة على العثور عليه.ما هي واجهات -- DeviceInfoServiceSoap و DeviceInfoServiceSoapChannel.دروس اسمه DeviceInfoServiceSoapClient.

أساليب GetHostedDevices و GetDeviceInfo لم تعد متوفرة.كل ما أحصل عليه هو GetDeviceInfoRequest, GetDeviceInfoRequestBody, GetDeviceInfoResponse و GetDeviceInfoResponseBody.

لقد بحثت كثيرا عن كيفية استخدام هذه أربعة فصول ، إلا أن العثور على أي شيء.أريد الحصول على تلك 2 دروس مباشرة في ASP.NET و لا تستخدم تلك استجابة طلب نوع.

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

المحلول

ما هو مرجع ويب في ASP.NET ما يعادل الخدمة المرجعية في سيلفرلايت.

هنا مثال عن كيفية استخدام خدمة ويب في سيلفرلايت ، على سبيل المثالعلى CDYNE الألفاظ النابية تصفية.

إضافة خدمة جديدة الإشارة إلى المشروع الخاص بك, URL: http://ws.cdyne.com/ProfanityWS/Profanity.asmx?wsdl, اترك اسم ServiceReference1.

استخدام هذا الرمز وراء استدعاء الخدمة (الذي تم تنفيذه أن يكون غير متزامن):

public MainPage()
{
    InitializeComponent();

    string badText = "I wonder if the filter will filter this out: shit bad luck";
    ServiceReference1.ProfanitySoapClient client = new ServiceReference1.ProfanitySoapClient();
    client.ProfanityFilterCompleted += new EventHandler<ServiceReference1.ProfanityFilterCompletedEventArgs>(client_ProfanityFilterCompleted);
    client.ProfanityFilterAsync(badText, 0, false);            
}

void client_ProfanityFilterCompleted(object sender, ServiceReference1.ProfanityFilterCompletedEventArgs e)
{
    string cleanText = e.Result.CleanText;  // Web service callback is here
}

وكنت قد حصلت على خدمة الإنترنت وتشغيلها في سيلفرلايت!

نصائح أخرى

أنت يبدو بفظاعة إرباك حول بعض المفاهيم.

ما رأيك مشاهدة التالية Silverlight.Net الفيديو ومعرفة ما إذا كان هذا يساعد ؟ كيف تستهلك رأس المال العامل ، ASP.NET خدمات الويب في سيلفرلايت

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