通过网络的C#应用​​程序

通过网络的C#应用​​程序

问题描述:

我遇到了一些情况,我被要求将一个应用程序(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

授予FullTrust的问题是it really really means full trust。如果您的应用程序具有任何类型的身份/安全控制,则授予fulltrust将会绕过所有这些。我想不然的话,你会“暴露”你的机器到另一个机器上运行的文件,所以它们可能会造成破坏,但是这并不比在远程机器上运行的任何其他原生win32可执行文件差,所以它是恕我直言,恕我直言。

我建议最好的解决方案是简单地在用户的机器上安装应用程序。你可以使用像ClickOnce这样的东西来让它们变得轻松简单。

尝试使用ClickOnce部署。我们将它用于我们所有的网络部署应用程序。

+0

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

+0

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

您可能会考虑部署ClickOnce。通常比在共享上运行要好得多。

最好的解决方案可能是为你的程序集签名,并为这些程序集的所有客户机推出一个完全信任的策略。然后,通过UNC路径从网络共享中运行它们,就好像它们是本地一样。