将轻量级Web服务器embedded到.net应用程序(node.js)中?

我有一个使用.NET构build的Awesomium的项目,它需要使用Flash。 Flash会引发安全错误,试图访问本地内容(video播放器),Awesomium提供的解决scheme尚未被移植到.NET包装器中。 我想知道是否有一个相当直接的方法来在应用程序中包含一个运行时Web服务器,在那里我可以select一些任意的端口,并在应用程序运行时创build一个本地主机服务器,并指向我的Awesomium浏览器。

有任何想法吗?

NHttp为HTTP服务器提供请求parsing,但是你必须推出自己的响应。 还有Kayak和框架自己的HttpListener 。

Nancy是一个完整的MVC框架,支持ASP.NET Razor语法,并且有很多configuration和扩展的选项。 有一个自我主机包在nuget上可用。

如果你只需要提供一个SWF文件和一些JSON数据,第一组可能会更容易集成 – 如果你需要渲染完整的网页,我会推荐Nancy。

这是去年我写的另一个select,而且给了我很好的帮助。

EmbedIO : https : //github.com/unosquare/embedio

我主要使用它来在Raspberry Pi(soft-float)上创buildRESTful服务。 更新了Mono 3.10的代码,支持WebSockets和asynchronous处理请求。

NuGet包也可用。

我猜这是Windows ..你不(或不应该)需要使用Web服务器。 如果你创build一个cfg文件,不pipe它叫什么,在这个目录中:

%appdata%\ Macromedia \ Flash Player#Security \ FlashPlayerTrust

并在其中放置一个包含要信任的文件夹的path的行,然后Flash将加载本地资源,而不存在安全问题。 您可以在关机时再次删除文件(这是我们所做的)。

在其他平台上相同的主体,只是FlashPlayerTrust文件夹的位置不同。

对于ASP.Net MVC(和其他)自托pipe您可以使用OWIN实现:

.NET的开放式Web界面(OWIN)定义了.NET Web服务器和Web应用程序之间的抽象。 OWIN将Web应用程序从服务器中分离出来,这使得OWIN非常适合在您自己的进程中自行托pipeWeb应用程序,而不需要IIS。

在这里你可以find一个WebAPI的简单例子。

只要内容设置为可信,我似乎可以播放本地Flash内容。

本地内容的Flash Player安全性是什么?

本地内容可以被指定为可信任的,这样它就不会被这个对话框中断,并且被允许按照devise运行。 这种信任必须以两种方式之一明确指定。

  • 通过运行一个软件安装程序,其中安装的应用程序中的内容已被注册为可信。 运行安装程序时,您明确允许在您的计算机上安装程序。 因此,应用程序的发布者可以自动将内容与Flash Player注册为可信。

  • 通过在Flash Player设置pipe理器中的“全局安全设置”面板中将特定内容或目录添加到可信文件列表中。 在此面板中,您可以通过手动向Flash Player注册位置来指定特定内容或甚至目录为可信的。 有关如何将内容指定为可信的详细说明,请参阅技术说明:如何让本地Flash内容与Internet通信?

如果您需要服务器端的一个小ASP.NET,请使用Mono.WebServer和Mono.WebServer.XSP。
这里:
https://github.com/mono/xsp/tree/master/src

否则,你可以使用uhttpsharp:
https://github.com/raistlinthewiz/uhttpsharp

或者你可以使用codeplex的“webserver”:
http://webserver.codeplex.com/

还是更重量级的卡西尼:
https://cassinidev.codeplex.com/