غير قادر على استدعاء خدمة WCF مباشرة (.NET 3.0)

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

  •  06-09-2019
  •  | 
  •  

سؤال

أنا أعمل مع WCF (VS2005، .NET 3.0) وتريد اختبار خدمة من خلال الاتصال مباشرة عبر متصفح الويب بدلا من التعليمات البرمجية.

لدي طريقة واحدة مزينة بمكالمات السمة المتعلق بالخطال (). لدي الخدمة وراء ملف .svc يمكنني الوصول إليه؛ ومع ذلك، عندما أذهب ... / test.svc / gettest، تأتي فقط شاشة فارغة.

هنا هو web.config:

<system.serviceModel>
  <services>
    <service name="TestService" behaviorConfiguration="TestBehavior">
      <endpoint
        address=""
        binding="basicHttpBinding"
        contract="TestService.ITestService"></endpoint>
    </service>
  </services>
  <behaviors>
    <serviceBehaviors>
      <behavior name="TestBehavior">
        <serviceMetadata httpGetEnabled="true"/>
      </behavior>
    </serviceBehaviors>
  </behaviors>
</system.serviceModel>

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

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

المحلول

لا تقدم WCF خيارات "الاتصال به من الويب" التي تستخدمها خدمات ASMX. لماذا ا؟ إنه ثقب أمان ضخم، وليس أفضل طريقة لاختبار خدمة ويب.

هناك خيار واحد هو القيام به كما اقترح eossi، واستخدام أداة اختبار خدمة WCF.

أو الأفضل بعد، اكتب عميلك الخاص لاستهلاك خدمة الويب الخاصة بك. سيساعدك ذلك في التعامل مع نفس القضايا الذين سيتناولون الخدمة الخاصة بك ستعاملون معهم، وصدقوني، يمكن أن يكون لدى WCF عددا قليلا من تلك البنات.

لا تفهموني خطأ، WCF هو frikkin رائع! ولكن هناك الكثير لتهجئة، وإذا كنت احتمالات جديدة، فستحصل على خطأ. حتى المتبنين الأوائل الذين ما زالوا لا يعرفون جميع المواقع وعموميات WCF.

نصائح أخرى

النظر في استخدام أداة اختبار خدمة WCF للاختبار الأولي لخدمتك (ولكن اختبار الوحدة حقا هو صديقك :-)) (و نعم - ستحتاج إلى نقطة نهاية ميكس، على الأقل في البداية)

أما بالنسبة للتصحيح - هل تعلق على العملية الصحيحة التي تستضيف الخدمة؟ هل تم تجميعها مع رموز التصحيح؟ إذا تم نشر الخدمة إلى IIS - هل الرمز المنشور هو نفسه رمز في Visual Studio؟

هل حاولت استخدام سابويب أنها توفر أداة اختبار خدمات الويب رائعة حقا. لديهم حتى نسخة مجانية سيتم تشغيلها كشركة Webstart!

أيضا، حاول تثبيت نقطة نهاية ميكس، CF رابط MSDN.

ألق نظرة على Webgettattribute - والتي تحتاج إلى .NET 3.5.

يتيح لك ذلك الحصول على بيانات الراحة من خدمة ويب WCF.

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