خدمة WCF مع البيانات الثنائية
سؤال
ولدي مشكلة فريدة من نوعها وأود القدرة على معالجة طلب POST HTTP الواردة التي تحتوي على البيانات الثنائية التعسفي.
وأنا حاليا يمكن معالجة هذه البيانات باستخدام معيار معالج ASP.NET الصفحة أو في خدمة ويب ASP، ولكن أريد أن أعرف إذا كان من الممكن معالجة البيانات الثنائية الواردة .. في خدمة WCF؟ يمكنني حفر أسفل إلى كومة معالجة WCF لتجاوز معالجة SOAP والتعامل مع الرسالة الخام في التعليمات البرمجية الخاصة بي؟
وأنا أفهم أن هذا يكسر 'عقد' نشر WCF (WSDL أيا كان)، ولكن لا يهمني حقا عن ذلك.
و-Jeff
المحلول 4
وبعد أن أمضى بضعة أسابيع على هذه المشكلة، ولدي الى حد كبير إجابة شافية:
هل يمكن ان يحل محل XML / SOAP مع التسلسل ثنائي مخصصة لتمويل رأس المال العامل؟
والجواب باختصار: لا
والجواب طويلة: نعم، ولكن لديك لإعادة كتابة ما يقرب من جميع واجهات طبقة النقل لذلك قد كذلك مجرد خلق العرف IHttpHandler وتجنب WCF معا
ومايكروسوفت، في محاولة لاتباع معيار SOAP (والمعيار هو المسؤول عن هذه المشكلة في رأيي) يكسر واحدة من القواعد برمجة بسيطة -> الفصل بين المسؤوليات في طبقات. WCF / SOAP قد يبدو بروتوكول الطبقات بأناقة والنقل، ولكن الحقيقة هي، أن هناك اتصالات معقدة بين الطبقات. وهذا يعني أن WCF هو بروتوكول الاتصالات المعقدة للغاية التي توفر وسائل النقل، والأمن، والموثوقية، والنشر، والتسلسل وغيرها من الميزات التي هي كلها مترابطة في بعض المستويات. إذا كان كل ما تريده هو قناة نقل، WCF / SOAP يضيف قدرا هائلا من التعقيد.
وأنا متأكد من أني يمكن أن تبدأ التشدق ضخمة حول SOAP نعم / لا، ولكن أدركت أخيرا أن WCF / SOAP ليس ما كنت بحاجة لطلبي.
و-Jeff
نصائح أخرى
والنظر في استخدام MTOM. MTOM هو آلية لنقل المرفقات الثنائية كبيرة مع الرسائل SOAP كما بايت الخام، والسماح لرسائل أصغر. لمزيد من التفاصيل انظر:
ويمكنك استخدام تدفق MSDN
وطالما أنا أعلم أنك يمكن تكوين خدمة الربط: http://www.c-sharpcorner.com/UploadFile/pjthesedays/ bindwcf05032009012251AM / bindwcf.aspx
وباستخدام netTcpBinding