2009-07-26 6 views
0

Je suis en train de créer une petite application Silverlight. Je souhaite être en mesure d'ajouter une DLL COM à mon application. Mon idée actuelle est de télécharger la DLL COM avec un client Web, puis de l'ajouter au projet, mais comme dit ... comment ajouter un composant COM à une application Silverlight? (Est-il même possible, sécurité-sage?)Comment ajouter une référence COM aux applications Silverlight

+0

Est-ce que cela doit être une application Silverlight? Avez-vous envisagé de l'écrire en tant qu'application WPF et de la déployer via ClickOnce? Correctement signé, votre application ClickOnce peut s'exécuter dans FullTrust et être capable de P/Invoke au code natif. –

Répondre

2

Vous ne pouvez pas à cause du bac de sécurité de Silverlight, vous pouvez seulement utiliser le code managé security transparent et le code natif n'est certainement pas de qualité.

De plus, bien qu'il soit possible d'invoquer ActiveX via Javascript, n'oubliez pas que Silverlight est multi plate-forme et que votre code peut s'exécuter sur une machine Mac ou Linux. Si vous avez absolument besoin d'une sorte de fonctionnalité disponible uniquement dans COM, vous pouvez appeler COM à partir du code FullTrust .NET sur le serveur (que certains hébergeurs ne permettent pas) et écrire un service WCF (ou même ASP.NET Web Service si vous voulez être old school :) facade que votre application Silverlight peut appeler, à condition que vous n'ayez pas besoin de quelque chose uniquement disponible sur le client.

+0

Eh bien, je le fais ... J'ai besoin de sa carte son, et malheureusement, ne peut pas utiliser le contrôle de médiaelement. Merci anyhows! Je reviendrai avec une réponse une fois pensé. – vondip

2

Vous ne pouvez pas.

Si vous parlez d'un composant ActiveX, vous pouvez y accéder en appelant un code JavaScript.

Questions connexes