總之,我正在尋找最好的方法來在.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 /)?如果你想要比本地主機多,你仍然需要打開防火牆 –