هل من الممكن لخلق مستقل، C # خدمة الويب نشرها باعتبارها EXE أو خدمة ويندوز؟

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

سؤال

هل من الممكن لخلق C # EXE أو خدمة ويندوز التي يمكن معالجة طلبات خدمة ويب؟ ومن الواضح أن بعض نوعا ما، جزءا لا يتجزأ من خادم الويب، وربما يقتصر يجب أن تكون جزءا من EXE / الخدمة. ان EXE / الخدمة لا تضطر إلى الاعتماد على يجري تركيبها IIS. ويفضل أن يكون، يمكن للخدمة على شبكة الإنترنت جزءا لا يتجزأ من التعامل مع HTTPS / SSL اتصالات النوع.

والسيناريو هو: العميل يريد تثبيت عامل صغير (خدمة ويندوز) على أجهزتهم الشركات. ان وكيل واثنين من المهام الأساسية: 1) مراقبة النظام مع مرور الوقت وجمع قطع معينة من البيانات و2) الاستجابة لطلبات الخدمة على شبكة الإنترنت (لا يزال يتم بالمساومة SOAP -V- REST حول) لأغراض جمع البيانات أو تغيير النظام. العميل يحب فكرة واجهات برمجة التطبيقات خدمة الإنترنت بحيث أن أي عدد من العملاء (في أي لغة) يمكن أن تكون مكتوبة للاستفادة من مختلف الجهات التي تعمل على أجهزة الشركات. يريدون التثبيت يكون غير مؤلم نسبيا (تثبيت .NET، بعض التجمعات، خدمة، تعديل جدار حماية Windows، بدء تشغيل الخدمة) دون الحاجة إلى IIS ليتم تثبيتها وتكوينها.

وأنا أعلم أنني يمكن أن تفعل هذا مع دلفي. ولكن العميل يفضل أن يكون هذا القيام به في C # إذا أمكن ذلك.

وأي اقتراحات؟

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

المحلول

نعم، فمن الممكن، قد ترغب في إلقاء نظرة على WCF استضافة الذاتي .

نصائح أخرى

نعم، فمن الممكن (والسهل إلى حد ما).

وهنا هو CodeProject تبين كيفية جعل الخادم HTTP الأساسي في C #. يمكن بسهولة وضع هذا في EXE مستقل أو الخدمة، واستخدامها كأداة من خدمة الإنترنت.

واحدة التقنية التي قد ترغب في التحقق من هو WCF. WCF يمكن أن يكون قليلا من الألم للوصول الى ولكن هناك سكرينكست كبير في أكثر من DNRTV كيث الشيخ أن يبين كيفية البدء مع WCF بطريقة بسيطة جدا.

http://www.dnrtv.com/default.aspx؟showNum=135

هل يمكن أن نلقي نظرة على HttpListener في .NET Framework.

وسأكون في غاية يوصي WCF. كما ينسجم بشكل جيد للغاية في منتج وكأنك تصف. هناك عدد لا بأس به من كتب المتاحة.

وبالتأكيد، يمكنك أن تفعل ذلك. تأكد من تغيير نوع إخراج المشروع إلى تطبيق وحدة التحكم. ثم، في وظيفة الرئيسية الخاصة بك، إضافة إلى سلسلة [] المعلمة. الخروج من بعض التبديل الذي تتلقاه على سطر الأوامر، يمكنك فرع لServiceBase.Run لتشغيل خدمة Windows أو فرع لبعض تعليمات برمجية أخرى لتشغيل تطبيق وحدة تحكم.

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