سؤال

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

وأنا فعلت ذلك والآن خدمة ويندوز هو الخادم IPC وخدمة تمويل رأس المال العامل هو العميل IPC. هذا على ما يرام ولكن أعتقد أنني ارتكبت خطأ القيام بذلك لأن لجعلها تعمل الحق يجب أن يتم تنفيذها مع حساب ASPNET، لهذا الحساب كلمة المرور ASPNET يجب تعيين خدمة ويندوز، وعندما أفعل ذلك في IIS لا يعمل بشكل صحيح .

وأنا أفكر في بدائل مختلفة، ولكن في كل منها استمرت المشكلة. بعض الافكار؟


تحرير:

ما أنا في حاجة كان نظام الملأ، في خدمة ويب استضافتها في IIS، بيانات حصلت من خلال telnet من النظام القديم آخر، ما هو غير مستقر قليلا. كيف كانت استجابة لهذا النظام الثاني بطيئة اخترت لوضع عملية (خدمة ويندوز) بين خدمة الويب والنظام القديم. وكانت خدمة ويندوز لحفظ البيانات التي تم جمعها من النظام القديم، وعندما طلب خدمة WCF أن تعطي كل شيء في وقت واحد من خلال التصنيف الدولي للبراءات.

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

المحلول

لماذا لا مجرد إنشاء حساب آخر مع نفس مجموعة إذن من المستخدم ASPNET فيه كل من خدمة WCF والأخرى الخاصة بك تشغيل الخدمة تحت؟ وبهذه الطريقة، لديك السيطرة على كلمة السر.

نصائح أخرى

وماذا تحتاج لخدمة ويندوز لتشغيل كمستخدم ASPNET؟ هل هذا لأنك كنت تستخدم اتصال IPC يتطلب مصادقة من المتصل؟

وثمة بديل آخر (إذا كان لديك السيطرة على رمز نوافذ الخدمة) سيكون لجعل ذلك خدمة WCF كذلك (يستخدم ServiceHost في خدمة ويندوز). خدمة IIS يمكن الاتصال على خدمة ويندوز باستخدام NetTcp أو NetNamedPipe ملزمة إذا كنت في حاجة إلى IPC مثل الأداء.

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

والسؤال التالي هو الصمود في وجه 'عميل' يجب أن يكون خدمة WCF. إذا كان يحتاج هذا العميل لخدمة التطبيقات الأخرى ثم فمن المناسب، وإلا فإنه قد لا يكون nessesary. أنا لا أعرف ما يكفي عن النظام الخاص بك، لذلك متروك لكم أن تقرر ما هو الأفضل!

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