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