21

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

有任何想法吗?

4

7 回答 7

23

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

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

如果您只需要提供一个 SWF 文件和一些 JSON 数据,那么第一组可能更易于集成——如果您需要呈现完整的网页,我会推荐 Nancy。

于 2012-07-31T18:24:26.210 回答
11

这是我去年写的另一种选择,并且对我很有帮助。

嵌入IOhttps ://github.com/unosquare/embedio

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

NuGet 包也可用。

于 2015-02-12T12:13:56.560 回答
4

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

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

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

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

于 2012-08-02T13:12:07.007 回答
2

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

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

在这里,您可以找到一个使用 WebAPI 的简单示例。

于 2014-03-27T06:55:37.317 回答
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/

于 2015-11-11T20:30:48.950 回答
0

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

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

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

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

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

于 2012-07-31T18:23:24.850 回答
0

如果您想利用 HTTP2 的能力来有效地流式传输内容,您还可以使用 GRPC 来嵌入 HTTP2 服务器。

看:

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

于 2018-02-22T22:05:06.637 回答