توصيل Silverlight بمنفذ COM لأجهزة الكمبيوتر المحلية

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

  •  03-07-2019
  •  | 
  •  

سؤال

لقد كنت أبحث في كل مكان عن طريقة لجعل تطبيق Silverlight الخاص بي يتحدث إلى منفذ COM الموجود على جهاز الكمبيوتر المحلي الخاص بي.هل تمكن أي شخص من جعل Silverlight يتصل بنجاح بمنفذ COM بجهاز الكمبيوتر المحلي لديك؟إذا كان الأمر كذلك هل يمكن أن توجهني إلى الوثائق.

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

المحلول

لا يمكن أن يتم ذلك مع Silverlight.

لماذا لا مجرد استخدام التطبيق سطح المكتب. NET القياسية؟ إذا كنت بحاجة إلى نشر بسهولة من خلال شبكة الإنترنت، ومجرد استخدام النقر مرة واحدة للنشر.

نصائح أخرى

وهناك لا يمكن الوصول إلى موارد الكمبيوتر، ولكن يمكنك التواصل مع مآخذ. لذلك فمن الممكن أن يكون للمستخدمين تثبيت التطبيق الذي يستمع على منفذ والتواصل مع منفذ COM.

لماذا أنت تحاول التواصل مع منفذ COM؟ إذا كنت تبحث عن دعم كاميرا ويب، ونلقي نظرة على الإختراق جوناس الذي يستخدم فلاش للحصول على مدخلات الكاميرا: http://jonas.follesoe.no/WebcamInSilverlight2MacGyverStyle.aspx

يمكنك القيام بذلك عن طريق فتح ملف قابس كهرباء اتصال من عنصر تحكم Silverlight الخاص بك إلى مأخذ توصيل محلي يتمتع المتدرب فيه بإمكانية الوصول إلى منفذ COM

وسيلفرلايت 4 تمكنك من communciate مع COM (اكتف). كنت قد كتبت مقالة بلوق عن كيفية التواصل مع مكتبة COM التي تدعم التواصل مع المنفذ التسلسلي.

HTTP: //tech-michael.blogspot كوم / 2009/12 / سيلفرلايت-الحديث إلى arduino.html

لاحظ أن وجوه ActiveXperts المذكور هو تجاري.

أعتقد أن الرجال قد لخصوا الأمر بشكل جيد - إن Silverlight موجود في وضع حماية محكم ولن تتمكن من الوصول إلى منفذ COM أو الموارد المحلية الأخرى.

لذلك دعونا نبدأ في التفكير في البدائل:

  • استخدم ClickOnce وتطبيق .NET الكامل - يمنحك سهولة النشر والتحديثات، وستحصل على القوة الكاملة لإطار عمل .NET.
  • استخدم XBAP (WPF المنتشر للمتصفح) الذي يطلب بعض الأذونات الإضافية.سيكون موجودًا داخل المتصفح، ولكنه يعمل فقط على أجهزة Windows المثبت عليها .NET 3.0 / 3.5
  • اكتب عنصر تحكم ActiveX يتحدث إلى جهاز GPS واكشف عن واجهة برمجة التطبيقات (API).ثم استخدم JavaScript لاستهلاك واجهة برمجة التطبيقات هذه والتفاعل مع كود JavaScript من Silverlight.سيوفر لك هذا تطبيق GPS داخل المتصفح، ولكن سيتعين على المستخدمين تثبيت مكون GPS ActiveX إضافي.

هتافات ، جوناس

ويمكنك الاستمرار في تشغيله من المتصفح والاستفادة من المجمع مثل

http://interopcom.codeplex.com/ (كتبه لي)

والتحيات، بول

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

وجون،

وأنا في الواقع محاولة لقراءة GPS بلدي من سيلفرلايت. لدي مفهوم مثير للاهتمام التي أردت أن يجرب، ولكن كنت أحاول أن يذهب لصفر تثبيت البصمة.

وماذا لو كنت تريد التطبيق الخاص بك لتشغيل ويندوز وماك؟ سيلفرلايت هو الحل لطيفة لأنه يعمل على حد سواء. إذا كان لديك لكتابة التطبيق WPF أو عنصر تحكم ActiveX، وما إلى ذلك، وهذا سوف تربطكم إلى Windows فقط مرة أخرى.

ويمكنك توصيل سيلفرلايت 5 إلى ميناء المحلي بالاتصالات وكذلك أي مورد محلي آخر، ولكن فقط مع هو تطبيق Silverlight تعمل تحت ويندوز (وليس ماك) وعند تشغيل إما OOB (خارج المتصفح) أو في- متصفح في Internet Explorer.

والطريقة يتم ذلك عن طريق إنشاء <م> الكلاسيكي مكون أتمتة COM، وتشغيل التطبيق مع ثقة كاملة. هناك مفتاح التسجيل يمكنك تعيين للسماح سيلفرلايت 5 تطبيقات لتكون قادرة على تشغيل مع الثقة الكاملة في المتصفح، ولكن يجب أن يتم التوقيع على الطلب ويجب أن يتم استيراد المفتاح العمومي للناشرين الموثوق بها على الجهاز المحلي.

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

If AutomationFactory.IsAvailable Then
      SilPort = AutomationFactory.CreateObject("SilverPort.Ports")
      Dim AllPorts() As String
      AllPorts = SilPort.GetPortNames()
      ...
End If
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top