2009-02-02 204 views
3

我遇到了一些情況,我被要求將一個應用程序(C#,.Net 2.0)部署到服務器,並且用戶需要通過網絡測試應用程序。我發現,用了作品比一個警告其它告訴你任何提高警惕以下「哎你在網絡上運行這是你確定要這麼做嗎?」:通過網絡的C#應用​​程序

%systemroot%\Microsoft.NET\Framework\v2.0.50727\caspol -m -cg 1.2 -url \\<Path> FullTrust 

是否有集中的一個更好的辦法比上面的應用程序?

+0

爲什麼asp.net-2.0標籤在那裏?這是一個winforms/wpf /控制檯應用程序? – 2009-02-02 19:45:40

+0

對不起。 .net 2.0標籤在那裏,因爲上面的命令行字符串被設置爲該目錄的路徑,這就是應用程序所在的運行時間。抱歉,錯誤的標籤。 – 2009-02-02 19:52:51

回答

4

授予FullTrust的問題是it really really means full trust。如果您的應用程序具有任何類型的身份/安全控制,則授予fulltrust將會繞過所有這些。我想不然的話,你會「暴露」你的機器到另一個機器上運行的文件,所以它們可能會造成破壞,但是這並不比在遠程機器上運行的任何其他原生win32可執行文件差,所以它是恕我直言,恕我直言。

我建議最好的解決方案是簡單地在用戶的機器上安裝應用程序。你可以使用像ClickOnce這樣的東西來讓它們變得輕鬆簡單。

6

嘗試使用ClickOnce部署。我們將它用於我們所有的網絡部署應用程序。

+0

呃..你贏了! :D – Randolpho 2009-02-02 19:46:23

+0

雖然你的鏈接可能更好。 http://stackoverflow.com/questions/504585/c-application-over-a-network/504602#504602 – GWLlosa 2009-02-02 19:48:47

2

最好的解決方案可能是爲你的程序集簽名,併爲這些程序集的所有客戶機推出一個完全信任的策略。然後,通過UNC路徑從網絡共享中運行它們,就好像它們是本地一樣。

相關問題