Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我的.net应用程序在本地计算机上工作,但从网络位置使用时失败_C#_.net_Security - Fatal编程技术网

C# 我的.net应用程序在本地计算机上工作,但从网络位置使用时失败

C# 我的.net应用程序在本地计算机上工作,但从网络位置使用时失败,c#,.net,security,C#,.net,Security,我有一个C#应用程序,它需要列出一个目录(directory.GetFiles()),还需要访问返回的一个文件。如果我在本地运行应用程序,它在访问网络位置或本地位置时没有问题,如果我从网络共享运行应用程序,那么在访问共享时会引发安全异常 我发现了发生这种情况的原因: 然而,解决方案似乎。。。不切实际,除非我误解了 1) 我无法使用该代码(几乎不是选项) 2) 对程序集进行签名,然后让使用它的人配置.NET策略以允许它?(这取决于谁将使用它来改变他们的政策之一,我没有发言权??) 3) 更改策略

我有一个C#应用程序,它需要列出一个目录(directory.GetFiles()),还需要访问返回的一个文件。如果我在本地运行应用程序,它在访问网络位置或本地位置时没有问题,如果我从网络共享运行应用程序,那么在访问共享时会引发安全异常

我发现了发生这种情况的原因:

然而,解决方案似乎。。。不切实际,除非我误解了

1) 我无法使用该代码(几乎不是选项) 2) 对程序集进行签名,然后让使用它的人配置.NET策略以允许它?(这取决于谁将使用它来改变他们的政策之一,我没有发言权??) 3) 更改策略以允许完全信任localintranet上的所有内容(在我的情况下不建议或甚至不可能)

如果我在这里遗漏了什么,那么对于将独立应用程序推送到我没有发言权的网络上来说,这些选择似乎都不是最佳选择。我本以为做一些相对简单的事情,比如从网络共享运行一个应用程序来列出目录中的文件,不需要如此疯狂的操作就能让它正常工作


有人对我在这种情况下能做些什么有什么想法吗?

我想,这些线程将回答您的问题:

这种行为在.NETFramework3.5SP1中有所改变,默认情况下允许程序运行网络共享


是的,它感觉不太实用,但不幸的是没有太多的事情要做…

我会将它部署为ClickOnce应用程序(“在VS2008中发布”等)。ClickOnce可以位于网络共享上-您只需运行.application而不是.exe;这样,直接运行它就不会有任何安全问题,它将一直运行到.NET 2.0。

当您要求用户升级到.NET Framework 3.5 SP1时,此问题应该不再存在。请参阅以下有关该主题的博客文章:


投票关闭时,重复链接应作为评论/发布。重复: