كيفية التحكم في تنسيق الإخراج في خدمة الويب ASP.NET

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

  •  05-07-2019
  •  | 
  •  

سؤال

نحن نتحول من تطبيق قديم مكتوب في ColdFusion إلى تطبيق نماذج الويب ASP.NET. أحد المتطلبات هو التحرك عبر خدمة الويب القديمة. يمكن أن يتغير العنوان ، ولكن يجب أن يكون تنسيق المدخلات والاستجابات هو نفسه. أنا جديد نسبيًا على خدمات الويب ، لكنني أعلم أن هناك تنسيقات إخراج SOAP و JSON لخدمة ويب .NET (ربما آخرين). لكن أيا من هؤلاء غير قابل للتطبيق.

أحتاج إلى سيطرة كاملة على الاستجابة المعطاة. إذا كنت أفعل ذلك مع صفحة .aspx ، فسأكتب فقط إرث الراحة في سلسلة ، ومسح الاستجابة ثم أضف تلك السلسلة إلى الاستجابة والاستجابة.

هل هناك شيء مشابه لـ .asmx؟

هل هناك طريقة أكثر ذكاءً للقيام بذلك وما زالت قادرة على الاندماج مع بقية قاعدة رمز تطبيق ASP.NET؟

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

المحلول

إذا كنت بحاجة فقط إلى التحكم الكامل للاستجابة ، فاختر دراما دورة صفحة ASPX وابحث في استخدام .AashX بدلاً من ذلك. إنه خام إلى حد ما وقد يكون ما تحتاجه.

نصائح أخرى

يمكنك استخدام WCF لتنفيذ XML القديم العادي (POX) بدلاً من الصابون.

webhttpbinding هو الربط لاستخدامه لهذا. إذا كان "التحكم الكامل" ينفي إمكانية هندسة عكس الخدمة الحالية في عقد WCF صريح ، فيمكنك استخدام ملف دفق للحصول على التحكم الكامل في الإخراج.

Depends on the format you need.
ASMX and WCF will generate bona-fide SOAP responses.
If I understand correctly, You said "SOAP is not workable". If you need an odd format, you can certainly generate it the way you described with an ASPX page. The programming model won't be as nice, though.

What version of Visual Studio are you using? If you have Visual Studio 2008 (SP1), then you should not create an ASMX web service. Microsoft now considers that technology to be "legacy", and does not plan to fix any bugs in it.

Instead, you should create a WCF service. You can control the output format completely.

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