عودة JSON ملفوفة في وظيفة رد الاتصال من خدمة WCF Rest Web

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

سؤال

لدي خدمة ويب إرجاع JSON، ولكن الآن أود تعديلها للسماح للمتصلين بتحديد وظيفة رد الاتصال بحيث ينتقل العائد من: بيانات JSON إلى التخصيص (بيانات JSON)؛ الطريقة التي أعود بها JSON الآن هي الآن فقط عن طريق إرجاع مثيل كائن واستخدام .NET تقوم بسحر التسلسل الخاص به، إذا غيرت إلى إرجاع سلسلة فقط يمكنني إضافة اسم الوظيفة والأقواس حول البيانات ولكن ثم انتهى بي الأمر بعلامات الاقتباس في الإرجاع، لأن سلسلة لها وأنا لا أريد ذلك. فكيف يمكنني الذهاب حول هذا الموضوع؟

السبب في ذلك، نريد أن يكون المطورون يدعون واجهة برمجة التطبيقات لدينا من استخدام علامة البرنامج النصي الديناميكي كما هو موضح هنا http://www.xml.com/pub/a/2005/12/21/json-dynamic-script-tag.html

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

المحلول

التقنية التي أنت بعدها jsonp. (جون مع الحشو).

يرى كيفية دعم JSONP في خدمات WCF:

ال JsonPEncoder هو تشفير التفاف على تشفير WCF JSON. يفوض معظم الدعوات إلى التشفير الملتفوف. ال WriteMesage تم تجاوز الأساليب لتقوية الرسالة الصادرة مع طريقة رد الاتصال. ال JsonBehavior يستخدم في عملية الخدمة لتمكين تشفير JSONP لتلك العملية. تم تحديد معلمة الاستعلام عن URI التي تحمل اسم وظيفة رد الاتصال ك CallBack خاصية السلوك.

نصائح أخرى

في WCF 4.0 إضافة دعم JSONP. يمكنك استخدام

  <bindings>
    <webHttpBinding>
      <binding name="webHttpBindingWithJsonP" crossDomainScriptAccessEnabled="true" />
    </webHttpBinding>
  </bindings>

http://bendewey.wordpress.com/2009/11/24/using-jsonp-with-wcf-and-jquery/

لا أعرف إصدار HTML الذي يستخدمه، ولكن في جميع الإصدارات التي استخدمتها، يجب أن تكون سمة SRC في علامة البرنامج النصي عنوان URL. إنهم بطريقة أو بأخرى باستخدام وظيفة بدلا من ذلك، وأنا لا أرى هذا العمل.

هل رأيت فعلا عمل علامة نصية ديناميكية؟

أعلم أنه مؤشر ترابط قديم، لكن يبدو أن الجميع يصر على تغيير WCF لدعم JSONP عندما يكون ذلك بوضوح ما طلبه الملصق. وأنا نشرت هنا واللبنابة .ASP.NET ولم يأخذ أحد الوقت للرد.

انتهى بي الأمر بإعادة ذلك كدفق. يؤدي ذلك إلى استخدام الوضع "الخام" ولن يلمس WCF الاستجابة. وصلة: http://blogs.msdn.com/b/carlosfigueira/archive/2008/04/17/wcf-raw-programming-model-web.aspx..

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