Asp.net 在中等信任环境中创建目录?
我有一个ASP.NET Web应用程序,它在一个中等信任环境中运行,并有一个共享主机提供商。以下代码导致引发SecurityException:Asp.net 在中等信任环境中创建目录?,asp.net,medium-trust,securityexception,create-directory,Asp.net,Medium Trust,Securityexception,Create Directory,我有一个ASP.NET Web应用程序,它在一个中等信任环境中运行,并有一个共享主机提供商。以下代码导致引发SecurityException: private void TestButton_Click(object sender, EventArgs e) { string directory = Server.MapPath("~/MyFolder/") + "_TestDirectory"; if (!Directory.Exists(directory))
private void TestButton_Click(object sender, EventArgs e)
{
string directory = Server.MapPath("~/MyFolder/") + "_TestDirectory";
if (!Directory.Exists(directory))
Directory.CreateDirectory(directory);
}
错误全文如下:
System.Security.SecurityException: Request for the permission of type 'System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.
at System.Security.CodeAccessSecurityEngine.Check(Object demand, StackCrawlMark& stackMark, Boolean isPermSet)
at System.Security.CodeAccessPermission.Demand()
at System.IO.Directory.InternalCreateDirectory(String fullPath, String path, DirectorySecurity dirSecurity)
at System.IO.Directory.CreateDirectory(String path, DirectorySecurity directorySecurity)
at ASP.testcreatedirectory_aspx.TestButton_Click(Object sender, EventArgs e)
The action that failed was:
Demand
The type of the first permission that failed was:
System.Security.Permissions.FileIOPermission
The Zone of the assembly that failed was:
MyComputer
正在创建子文件夹的文件夹具有完全权限,因此我认为这不是问题所在。这看起来与在中等信任环境中运行有关
中等信任环境不允许通过Directory.Create方法创建新目录是否正常,和/或是否有任何解决方法?只要您尝试访问的路径位于应用程序所在的虚拟目录下,您就应该能够以中等信任方式访问它。您确定您的应用程序标识具有文件夹创建权限吗 编辑:我可能看错了上面的文件。也请参见此链接,您似乎只有读、写、附加和路径发现权限: FileIOPermission受到限制。这 意味着您只能访问中的文件 应用程序的虚拟目录 等级制度你的申请被批准了 读、写、附加和路径发现 应用程序的权限 虚拟目录层次结构