Alternative à HttpListener?
Je suis de développer une application qui est si loin de l'aide de HttpListener de fournir une petite autonome du serveur http. Cependant, j'ai découvert récemment que HttpListener doit être exécuté en tant qu'Administrateur, ce qui n'est pas toujours possible.
Quelle serait la meilleure alternative? J'ai besoin de http GET et POST, qui ne sont pas simplement de la lecture/écriture de fichiers sur le système de fichiers, dont ils ont besoin pour exécuter personnalisé .Net code.
Mes recherches jusqu'à présent, a apporté de Cassini, mais aussi loin que je peux dire, je voudrais écrire une version personnalisée. Est-il autre chose? Dans partiular quelque chose avec la même interface que HttpListener, mais qui ne nécessite pas de privilèges d'Administrateur serait étonnant!
source d'informationauteur Grokys
Vous devez vous connecter pour publier un commentaire.
Une alternative que j'ai trouvé est C# Serveur sur CodePlex.
"... de flexibilité d'un serveur http qui peut être intégré dans toute .Net application. Il a une conception modulaire, où les fonctionnalités sont ajoutées à l'aide de modules. Le serveur prend également en charge de REPOS et de tous les verbes http ..."
Il a une classe HttpListener qui, j'imagine, est similaire au Système.Net.HttpListener, mais je n'ai pas utilisé l'un d'eux encore donc je ne peux pas en être certain.
Une solution à ce qui est couvert par cette autre question - vous pouvez vous donner des autorisations pour exécuter HttpListener comme un non-admin.
Vous pourriez obtenir l'application à partir d'un fichier de commande qui trie les autorisations, puis exécute l'application réelle.
Comme le commentaire by Dean sur votre post dit, vous pouvez exécuter la commande netsh suivante:
De remplacer le " http://+:8346/' à votre valeur, et cela permettra à tout utilisateur authentifié d'exécuter le serveur à l'ordinateur d'extrémité cible.
À propos de la déclaration:
Qui n'est pas entièrement vrai, et quelques autres réponses tactile sur l'une des raisons, mais il y a un autre:
Nous sommes l'expédition d'un outil interne qui permet aux développeurs d'exécuter une HTTP hôte d'application sur leur Pc, et nous avons cru d'abord à l'aide de HttpListener ne serait pas possible en raison de l'Administrateur (ou l'Administrateur des autorisations accordées) problème, mais ensuite, nous avons trouvé que localhost fonctionne très bien sans être un Admin. Il sorte de logique: à l'écoute de l'extérieur est "dangereux", mais à l'écoute sur la machine locale n'est pas tout à fait comme dangereux.
Ok, si vous avez régulièrement une application de bureau qui doit permettre l'entrée des connexions http - hmm - ne sera pas le pare-feu windows?
En supposant que pas, il sonne presque comme un webservice - pourriez-vous aller dans cette voie - exposer l'Url par qui? Bien que mon .Net la connaissance n'est pas assez profond pour savoir si vous avez encore besoin pour exécuter le serveur http pour répondre aux requêtes. Spring.Net vaut probablement la peine de les regarder.
Nowin est une grande lib qui peut être intégré dans
Owin
commeServerFactory
sans dépendance surHttpListener
. Ont été en mesure de déposer à remplacerMicrosoft.Owin.Host.HttpListener
lib sans accroc