总之,我正在寻找最好的方法来在.Net框架应用程序(例如Windows窗体)中提供REST或SOAP API服务器 - 在某些情况下没有管理权限C#中的HttpListener和Griffin.WebServer的替代品
当前在可能的便携式csharp应用程序中提供基于Web的REST或SOAP API的最佳方式是什么? 基本上我需要一些支持基本http标准的开箱即用(例如期望:100-继续和其他),同时能够instanciate我的csharp程序的类直接(perfomrance和易用性的原因)。
微软的方式是使用IIS和可能的ASP或去httplistener。 IIS永远不能以便携方式运行,并且需要大量基于安装过程/系统管理的工作。另一方面,httlistener甚至不是一个web服务器,我需要自己实现所有的标准web服务器命令。
我四处寻找这个话题,因为多年以来,一个例子是这个问题[老问题] Alternative to HttpListener?
不幸的是这一个链接到一个停产项目。
任何想法?
[编辑]这个问题不仅针对C#,还针对.NET Framework 2-4.5。结果应该可用于例如Windows窗体,Windows服务和命令行应用程序。
目前我正在使用基于HTTPListener的骨架Web服务器,因此我需要实现所有请求的解析,对答案进行格式化并对我自己的特殊http命令作出反应(这似乎是一个永无止境的任务): https://www.codeproject.com/Articles/17071/Sample-HTTP-Server-Skeleton-in-C
这是一个购物问题,使用谷歌来找到点击。 “.net嵌入式Web服务器”显示Nancy,NHttp,Kayak,EmbedIO。 Node.js是大狗,所以你也想谷歌“node.js .net集成”。 Out pops edge.js –
请确保您在赏金结束前将其写为答案;-) – Harry
REST和SOAP是完全不同的野兽。 REST是......几乎没有,所以HttpListener应该足够了。全面的SOAP(和WSDL)非常复杂和老式。所以这两个要求在某种程度上是矛盾的。 HttpListener不需要管理员权限,只要你做了暴露你的机器的事情。例如,你想打开你的服务器到外面,还是只是本地主机(https://stackoverflow.com/questions/223063/how-can-i-create-an-httplistener-class-on-a -random-port-in-c /)?如果你想要比本地主机多,你仍然需要打开防火墙 –