سؤال

هل هو واقعي لاستخدام C # .NET Class HTTPlistener كأساس لخادم Web Caliber الإنتاج؟

لا تحتوي خدمة HTTP على المضيف على أي ملفات .aspx أو ثابتة. جميع ردود HTTP هي ديناميكية وتولدها في رمز C # الذي تم استدعاؤه عبر عبارات تبديل عدد قليل من تفتيش تنسيق عنوان URL مريح.

تفكيري هو أن IIS هو حقا مجمع وضع المستخدم حول وحدة نواة Windows O / S HTTP-SYS التي تقوم بمعالجة جميع معالجة الشبكة الثقيلة وكذلك httplistener.

لدي بالفعل خادم ويب أساسي يعمل بشكل ممتاز وهو ممتاز للتنمية لأنه يبدأ في وضع التصحيح في مثيل، الآن أفكر في أنني بحاجة إلى مبالغة من IIS للإنتاج. بسم منخفض الذاكرة هو عامل جذب آخر.

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

المحلول

لديك اختيارات خطيرة هنا. ولا، فإن ترميز خادم الويب الخاص بك مع httplistener ليس درجة الإنتاج.

1) استخدام IIS. لديها الكثير من الميزات للأمن والأداء، وربما الأهم من ذلك، إمكانية الإدارة, ، أن يتعين عليك إعادة اختراع نفسك. مثل الإدارة عن بعد، تسجيل، أمان Windows المتكامل، إلخ.

2) استخدم WCF وإنشاء خدمة ServiceHost لاستضافة ملفاتك. ثم سيتعين عليك تنفيذ خدماتك الخاصة وإيجاد طريقة لإدارة طوابعها. يمكنك القيام بذلك، ولكن مرة أخرى، إذا كنت تتحدث مكالمات ويب مريحة، فإن IIS حقا هي الطريقة للذهاب.

تدحرج يدويا يجب تجنبها. لقد تغير IIS كثيرا في السنوات العشر الماضية. إنه بأي حال من الأحوال خادم مونولوجي كبير بعد الآن. لقد حافظوا على كل شيء تقريبا، خاصة في نظام التشغيل Windows 2008، حتى تحصل على نظام هزيل وسريع.

نصائح أخرى

حسنا، كما قيل - حاول استخدام IIS في البداية.

httplistener ليس سيئا على الإطلاق - هذا هو أسرع خادم المستمع المدار الذي يمكنك الحصول عليه الآن (أسرع من Tcplistener وأسرع من فئة المقبس). وهو في الواقع هو نفس جوهر IIS. لكن IIS لديه الكثير من الأشياء.

لا أستطيع أن أقول IIS هو Monolith - استضافة الاستخدام أظهر أنه أصبح أسوأ في WIN2008 من حيث الاستقرار والإدارة. لكن محلولك المصنوع يدويا يمكن أن يكون أسوأ بكثير. كما لا تنسى - http.sys أكثر قابلية للتخصيص من httplistener. أي لا يمكنك القيام بالدفق مع httplistener، ولكن يمكنك القيام بذلك مع http.sys - سؤال حول البث HTTPlistener

ولكن إذا كان لديك قوة كافية كمطور - يمكنك محاولة كتابة غلاف Http.sys الخاص به وهذا هو أفضل نهج في كتابة خادم الويب الخاص في Windows.

القمامة، لفة الخاصة بك. الهندسة المعمارية تسمح بذلك. كن على علم بل هناك بعض السلوكيات الغريبة في الفصل. إغلاقه في عدة مرات في خدمة NT يجعلها قشرا ككيس من المعجنات النفخة.

إذا قمت بتشغيله على وحدة التحكم، فلا توجد مشاكل على الإطلاق، وتشغيلها Async وكلها يجب أن تكون جيدة، ومع ذلك، بدءا من الأشياء الرأي وإيقافها. هذه مشكلة مختلفة التي أعاني منها حاليا مع عدم وجود أخطاء يتم إنتاجها من فئات مايكروسوفت من Microsoft بشكل جذابي.

أشعر بيثون يأتي مع اندفاعة قليلا من Cherrypy

إذا كتبت ذلك، فسيتعين عليك الحفاظ عليها. كتبت Microsoft بالفعل خادم ويب - يجب عليك استخدامه.

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