سؤال

لدي تطبيق .Net 3.0 يحتاج إلى تمرير عدد صحيح إلى برنامج آخر على نفس الجهاز.كنت أستخدم خدمة WCF للقيام بذلك، ولكن واجهت مشكلات تتعلق بحقوق المستخدم عند محاولة استضافة الخدمة على الصندوق المحلي.أي أفكار حول كيفية تحقيق ذلك سيكون موضع تقدير كبير.

شكرًا،

ديف

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

المحلول

وWCF لا يزال الطريق للذهاب هنا.

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

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

نصائح أخرى

الاتصال عن بعد .NET هو وسيلة لتمرير رسائل بين البرامج.

وكيف تم استضافة؟ لاحظ أن البرنامج غير المشرف باستخدام HTTP سوف تحتاج صلاحيات لاستخدام ميناء (في HTTP.SYS). هذا هو طريق NETSH (ويندوز فيستا) أو (IIRC) httpcfg (XP).

هنا ، على سبيل المثال.

صندوق رأس المال العامل هو الطريق للذهاب.يجب عليك استخدام NetNamedPipeBinding لتأمين في نفس الاتصالات الجهاز.
المزيد عن WCFBindings https://msdn.microsoft.com/en-us/library/ms730879(v=vs.110).aspx

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