Question

J'ai une application .Net 3.0 qui doit transmettre un entier à un autre programme sur le même ordinateur. J'utilisais un service WCF pour cela, mais des problèmes de droits d'utilisateur se posaient lorsque j'essayais d'héberger le service sur le serveur local. Toute idée sur la manière de réaliser cela serait grandement appréciée.

Merci,

Dave

Était-ce utile?

La solution

WCF est toujours le chemin à parcourir ici.

En règle générale, pour une communication interprocessus sur le même ordinateur, vous utiliseriez le canal de canal nommé. Si vous ne l'utilisez pas, je vous suggère de le faire, puis de déterminer quelle est l'erreur d'erreur liée à l'hébergement.

Si les deux programmes ont des boucles de message en cours de traitement et que vous envoyez un entier, vous pouvez également utiliser un appel à SendMessage par le biais de la couche P / Invoke, mais uniquement parce que vous envoyez des données égales à ou plus petit que ce que SendMessage permettra. Les gros messages nécessiteront quelque chose comme WCF.

Autres conseils

Remoting .NET est un moyen passer des messages entre les programmes.

Comment avez-vous été hébergé? Notez qu'un programme non-admin utilisant http aura besoin d'autorisations pour utiliser le port (dans http.sys). C’est via netsh (Vista) ou (IIRC) httpcfg (XP).

Voir ici , par exemple.

WCF est la voie à suivre. Vous devez utiliser NetNamedPipeBinding pour sécuriser une même machine de communication.
En savoir plus sur WCFBindings https://msdn.microsoft.com /en-us/library/ms730879(v=vs.110).aspx

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top