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

时间:2012-07-31 18:04:11

标签: c# .net node.js embeddedwebserver awesomium

我有一个用.NET构建的Awesomium构建的项目,它需要使用Flash。 Flash尝试访问本地内容(视频播放器)时出现安全错误,而Awesomium提供的解决方案尚未移植到.NET包装器。我想知道是否有一种相当直接的方式在应用程序中包含运行时Web服务器,我可以选择一些任意端口并在应用程序运行时创建一个localhost服务器并指向我的Awesomium浏览器。

有什么想法吗?

7 个答案:

答案 0 :(得分:22)

NHttp为HTTP服务器提供请求解析,但您必须滚动自己的响应。还有Kayak和框架自己的HttpListener

Nancy是一个完整的MVC框架,支持ASP.NET Razor语法,并且有很多配置和可扩展性选项。 nuget上有一个self-host package

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

答案 1 :(得分:9)

这是我去年写的另一个选择,并且很好地为我服务。

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

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

NuGet Package也可用。

答案 2 :(得分:4)

我猜这是Windows ..你不(或不应该)需要使用网络服务器。如果你在这个目录中创建一个cfg文件,无论它的名称是什么:

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

并在其中放入一行,其中包含您要信任的文件夹的路径,然后Flash将加载本地资源而不会出现安全问题。您可以在关机时再次删除该文件(这就是我们的工作)。

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

答案 3 :(得分:2)

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

  

Open Web Interface for .NET(OWIN)定义了.NET Web服务器和Web应用程序之间的抽象。 OWIN将Web应用程序与服务器分离,这使得OWIN非常适合在IIS之外的自己的进程中自托管Web应用程序。

Here您可以在WebAPI中找到一个简单的示例。

答案 4 :(得分:1)

如果您需要在服务器端使用一点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/

答案 5 :(得分:0)

只要内容设置为可信,我就好像可以播放本地Flash内容。

What is Flash Player security for local content?

  

可以将本地内容指定为受信任,以便它不会被此对话框中断,并且可以按设计运行。必须以两种方式之一明确指定此信任。

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

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

  •   

答案 6 :(得分:0)

如果您希望利用HTTP2功能有效地传输内容,您还可以使用GRPC嵌入HTTP2服务器。

请参阅:

https://grpc.io/docs/quickstart/csharp.html