سؤال

أحاول أن أقوم ببناء موقع مع ما يلي:

  • مقابل 2010 (لخدمات WCF RIA المحدثة)
  • Silverlight 4.0 (معبأة مع خدمات WCF RIA).
  • MVC 2
  • EF 4.0

أقوم بإعداده بحيث تكون صفحات المواجهة العامة HTML من MVC ، لكن جزء الإدارة سيكون تطبيقًا لملاحة Silverlight باستخدام خدمات WCF RIA للوصول إلى البيانات.

عندما أقوم بإنشاء تطبيق Silverlight ضمن تطبيق WebForms ، فإنه يعمل (يمكنني إضافة بيانات البيانات واسترداد البيانات باستخدام خدمات EF 4.0 و WCF RIA بنجاح):alt text http://www.patleague.com/images/sl4_webforms.png

عندما أقوم بإنشاء تطبيق Silverlight ضمن تطبيق MVC2:alt text http://www.patleague.com/images/sl4_mvc2.png

أحصل على خطأ على ما يلي (لقد أضفت نفس بيانات البيانات في كلتا الحالتين - جدول بسيط يحتوي على سجلين):alt text http://www.patleague.com/images/sl4_mvc_dataerr.png

يعمل WebForms Server-Side بينما لا يقوم جانب خادم MVC. لقد جربت بشكل فاشل تسجيل WCF وكذلك Fiddler ، لكنني لا أستطيع الحصول على أي إخراج (باستخدام المثال هنا: http://msdn.microsoft.com/en-us/library/ms730064.aspx) ، وحاولت أيضًا Fiddler للحصول على بعض المعلومات دون حظ. أنا أعاني حقًا من هذا وأتساءل عما إذا كان أي شخص آخر قد واجه هذه المشكلة ووجدت طريقة للتغلب عليها؟

شكرا ، دينيس

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

المحلول 2

قد تكون هذه المشكلة خاصة بموقعي ، ولكن ربما يواجه أشخاص آخرون نفس المشكلة ، وقد شعرت بالإحباط الشديد من هذا لدرجة أنني استسلمت لفترة من الوقت وحاولت طرقًا أخرى لإنجاز ما أريد ، لكنني عدت إلى Silverlight لأن لدي وقت صعب مع مكتبات JavaScript و JS UI. كان لدي حظ أفضل مع Fiddler عند العمل على الموقع المنشور (لم أحصل على أي إخراج عند العمل مع خادم التطوير).

عندما تصفحت على موقعي باستخدام تطبيق Silverlight ، ظهرت مربع الحوار مع "عملية التحميل المعتادة" للاستعلام ... "، وأظهر Fiddler ما يلي عند تسليط الضوء على الخطأ:

مخططات المصادقة المحددة IIS "أساسية ، مجهولة" ، لكن الربط يدعم فقط مواصفات مخطط المصادقة الواحد بالضبط. مخططات المصادقة صالحة هي Digest أو Teensue على NTLM أو Basic أو Anonymous. قم بتغيير إعدادات IIS بحيث يتم استخدام مخطط مصادقة واحد فقط.

بحثت عن هذا الخطأ في Discountasp.net (مزود الاستضافة الخاص بي) ووجدت مقالًا KB الذي أمرني بتحديث الويب.

<system.webServer>
  <security>
    <authentication>
      <basicAuthentication enabled="false" />
    </authentication>
  </security>
</system.webServer>

وفيولا! يمكنني استخدام خدمات WCF RIA مع Silverlight في ASP.NET MVC2! لقد وجدت أيضًا أنه من غير الضروري بالنسبة لي إنشاء خدمة خاصة ومجال DomainHostFactory كما هو موضح في العديد من منشورات المدونة أثناء البحث عن هذه الأشياء ، أو تغيير التوجيه لتجنب التفاعلات مع MVC وطلب الخدمة. هذا كل ما كان علي فعله

أعتقد أن هذا حل أساسي ، ونأمل أن يساعد شخص آخر. لقد شعرت بالإحباط الشديد من هذا ، وخيبة أمل من أن مثل هذا الإصلاح البسيط متاح للجمهور ، ولكن لا يتم تقديم إرشادات خطوة بخطوة لهذا السيناريو من Microsoft لأن هذا يستخدم أحدث تقنيات Microsoft.

شكرا ، دينيس

نصائح أخرى

قام تجاهل طرق الخدمات بتصحيح هذه المشكلة عند إضافته إلى Global.asax.cs:

routes.IgnoreRoute("{*allsvc}", new { allsvc = @".*\.svc(/.*)?" });

الفضل في هذه الإجابة يجب أن تذهب إلى OneMartguy: إصلاح إجابته مشكلتي أيضًا.

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