【发布时间】:2009-05-04 15:40:08
【问题描述】:
我正在从网络共享运行一个应用程序,然后该应用程序尝试验证路径“C:\temp”是否存在并返回真或假。
如果代码在本地运行,则没有问题。如果它是从网络共享运行的,即使该文件夹在本地存在,我也会得到错误的结果。
代码是框架 2.0 上的 C#
谢谢
【问题讨论】:
标签: c# networking share
我正在从网络共享运行一个应用程序,然后该应用程序尝试验证路径“C:\temp”是否存在并返回真或假。
如果代码在本地运行,则没有问题。如果它是从网络共享运行的,即使该文件夹在本地存在,我也会得到错误的结果。
代码是框架 2.0 上的 C#
谢谢
【问题讨论】:
标签: c# networking share
您需要在提升的权限下运行才能看到这一点。它是Code Access Security 模型的一部分。
我建议使用Environment.GetFolderPath 返回的应用程序数据文件夹,而不是硬编码路径。
【讨论】:
这与 .NET 框架的安全策略设置有关。默认情况下,从 Intranet 区域(UNC 路径分配到)运行的代码不完全受信任,从而限制了您的某些代码成功。
如果需要,您可以使用配置向导更改这些设置。打开 Visual Studio 命令提示符并运行“Configwizards.exe”。
有关 CAS 配置的信息,另请参阅 this link。
【讨论】: