سؤال

وأنا باستخدام PandaStream، والذي يرسل إخطارا REST كما YAML إلى التطبيق ASP.NET لدينا. خدمة الويب لدي الإختناقات وإرجاع 500 لأنه يحاول تحليل المحتوى كما XML. كيف يمكنني التوقف عن هذا التوزيع؟ كيف يمكنني الحصول على المحتوى كما مجرد سلسلة كبيرة حتى أتمكن من تحليل نفسي؟

[WebMethod]
//HOWTO? suppress XML parsing
public void UpdateStatus()
{
    // HOWTO? get content as string
    // parse string as YAML
    // ...
}

وUPDATE: OK، إذا كنت تستخدم صفحة. aspx العادية، كيف يمكنني الحصول على المحتوى وظيفة الخام كسلسلة

وUPDATE 2: I يمكن الحصول على النص:

Stream s = Request.InputStream;
byte[] buffer = new byte[s.Length];
s.Read(buffer, 0, (int)s.Length);
String content = bytesToString(buffer);

... ولكنه يحصل ثمل. مطلعها من YAML هي:

--- 
:video: 
  :thumbnail: bac01bf0-503a-012b-1406-123138002145.flv_thumb.jpg
  :duration: 15900

... وهلم جرا، ولكن في سلسلة بلدي يصبح هذا:

video=---%20%0a%3avideo%3a%20%0a%20%20%3athumbnail%3a%20bac01bf0-503a-012b-1406-123138002145.flv_thumb.jpg%0a%20%20%3aduration%3a%2015900

ويبدو ASP هو "parameterizing" الهيئة ما بعد عندما أريد فقط الاشياء الخام. هذا هو أن تفعل شيئا مع نوع التمثيل الصامت؟

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

المحلول

يمكن ASMX خدمات الويب فقط عملية SOAP على المدخلات. إذا كنت بحاجة لقراءة بعض صيغة أخرى، ثم عليك أن لا يتم استخدام خدمة ويب ASMX.

ومجرد استخدام صفحة عادية، أو HttpHandler، والقيام التوزيع الخاصة بك.

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