2012-07-31 64 views
18

我有一個使用.NET構建的Awesomium的項目,它需要使用Flash。 Flash會拋出安全錯誤,試圖訪問本地內容(視頻播放器),Awesomium提供的解決方案尚未移植到.NET包裝器中。我想知道是否有一種相當直接的方式在應用程序中包含運行時Web服務器,在該應用程序中,我可以選擇一些任意端口並在應用程序運行時創建本地主機服務器,並將Awesomium瀏覽器指向此處。將輕量級Web服務器嵌入到.net應用程序(node.js)中?

任何想法?

+0

所以你想獲得一個flash播放器來加載本地內容?將主機文件添加一些東西可以解決這個問題嗎? – 2012-07-31 18:18:03

回答

18

NHttp提供了請求解析HTTP服務器,但你必須推出自己的迴應。還有Kayak和框架自己的HttpListener

Nancy是一個完整的MVC框架,支持ASP.NET剃刀語法,並有大量的配置和可擴展性選項。 nuget上有一個self-host package

如果你只需要提供一個SWF文件和一些JSON數據,第一組可能會更容易集成 - 如果你需要渲染完整的網頁,我會推薦Nancy。

0

我認爲只要內容設置爲可信,您就可以播放本地Flash內容。

What is Flash Player security for local content?

本地內容可以作爲值得信賴的,這樣它不會被此對話框中斷且被允許作爲設計的指定。這種信任必須以兩種方式之一明確指定。

  • 通過運行中的信任在您安裝應用程序的內容已註冊軟件的安裝程序。當您運行安裝程序時,您明確允許在您的計算機上安裝程序。因此,應用程序的發佈者可以自動將內容與Flash Player註冊爲可信。

  • 通過將特定內容或目錄添加到受信任文件列表中,可以通過Flash Player設置管理器中的全局安全設置面板。在此面板中,您可以通過手動向Flash Player註冊位置來將特定內容或甚至目錄指定爲可信。有關如何將內容指定爲受信任的分步說明,請參閱技術說明:如何讓本地Flash內容與Internet通信?

4

我猜這是Windows ..你不(或不應該)需要使用Web服務器。如果你創建一個CFG文件,無所謂它叫什麼,在這個目錄下:

%APPDATA%\ Macromedia的\ Flash Player的#安全\ FlashPlayerTrust的

並把它包含路徑單行您要信任的文件夾,則Flash將加載本地資源而不存在安全問題。您可以在關機時再次刪除文件(這是我們所做的)。

在其他平臺上相同的主體,只是FlashPlayerTrust文件夾的位置不同。

+0

謝謝!我使用Awesomium來屏幕捕捉網頁,Flash安全窗口一直打開並停止程序的運行。這是一個巨大的幫助。 – 2015-03-26 15:20:24

2

對於ASP。淨MVC(及其他)自託管您可以使用OWIN實現:

打開Web界面的.NET(OWIN)定義.NET Web服務器和Web應用程序之間的抽象。 OWIN將Web應用程序從服務器中分離出來,這使得OWIN非常適合在IIS之外的自己的進程中自行託管Web應用程序。

Here你可以找到一個WebAPI的簡單例子。

+1

請注意:OWIN需要提升才能安裝或運行Web服務器。這是不可能的(AFAIK)有一個便攜式的OWIN服務器。國際海事組織這是一個通用的Web服務器的一個荒謬的約束。 – 2016-12-26 02:38:52

6

這是我去年寫的另一種選擇,並且對我很好。

EmbedIOhttps://github.com/unosquare/embedio

我用它主要是對樹莓派(軟浮動)創建RESTful服務。 Mono 3.10的更新代碼,支持WebSockets和異步處理請求。

NuGet Package也可用。

+0

偉大的軟件! – Caverna 2017-02-05 13:42:27

相關問題