سؤال

أنا خارج الأفكار هنا ، لذلك آمل أن يتمكن شخص ما من المساعدة. هذا ما لدي:

  • خدمة WCF التي لديها فقط نقطة نهاية basichttpbinding.
  • لا توجد سوى واجهة خدمة ، جميعها [Datamember] ، [FaultContract] هي أنواع ملموسة.
  • عندما أقوم بتشغيله مباشرة من Visual Studio (باستخدام عميل اختبار WCF أو تطبيقي المخصص) ، يعمل كل شيء (أرسل طلبًا واحصل على استجابة). هذا عادة ما يستغرق ثانية أو اثنتين.
  • لقد نشرتها إلى خادم IIS 6.
  • يمكنني فتح بنجاح http: //server/webservice/webservice.svc؟ wsdl
  • يمكنني فتح بنجاح http: //server/webservice/webservice.svc/mex (نفس الإخراج على النحو الوارد أعلاه)
  • يمكن لعميل اختبار WCF وتطبيقي المخصص إضافة مرجع الخدمة بنجاح
  • كلما حاولت استدعاء طريقة الخدمة ، فإنها تنتظر حوالي 15 ثانية وأحصل على خطأ "لا رد من معنى".
  • ركضت Fiddler وحصلت على 202 نتيجة ، والتي يبدو أنها ناجحة.
  • إنها لا تعيد أكثر من 65536 بايت
  • إنها تعيد صفيفًا ، لكنها صغيرة
  • لقد حاولت تصحيح الأخطاء عن بُعد ، لكن لا يمكنني الحصول على ذلك ، ربما بسبب جدار الحماية (لكن المنفذ 80 مفتوح ، يمكنني الحصول على WSDL)
  • لقد قمت بتمكين System.Diagnostics ، لا شيء.
  • لديّ ierrorhandler يسجل الأشياء عادة ، لا شيء.

إليك تكوين نقطة النهاية:

<endpoint address="" binding="basicHttpBinding" contract="Enterprise.IMyService" bindingNamespace="http://ourdomain.com/MyService/">
  <identity>
    <dns value="localhost" />
  </identity>
</endpoint>

أي شيء آخر يمكنني تجربته؟ ربما يكون إعدادًا بسيطًا في مكان ما ، لكن لا يمكنني معرفة ذلك.

تعديل:

استجابة الكمان الخام:

HTTP/1.1 202 Accepted
Date: Thu, 15 Apr 2010 19:02:45 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
X-AspNet-Version: 2.0.50727
Cache-Control: private
Content-Length: 0
هل كانت مفيدة؟

المحلول

اكتشفتها! لا علاقة له بـ WCF. عندما قمت بنقلها إلى الخادم ، لم تعد سلسلة اتصال قاعدة البيانات صالحة. لم يعد تكوين تسجيل الأخطاء (إلى البريد الإلكتروني) أيضًا صالحًا وكان يتناول الاستثناء. استغرق الأمر 15 ثانية للرد لأن هذا هو المدة التي استغرقها اتصال SQL Server إلى Time Out.

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