riando diretórios em ambiente de confiança médi
Eu tenho um aplicativo Web ASP.NET em execução em um ambiente de confiança média com um provedor de hospedagem compartilhada. O código a seguir faz com que uma SecurityException seja lançada:
private void TestButton_Click(object sender, EventArgs e)
{
string directory = Server.MapPath("~/MyFolder/") + "_TestDirectory";
if (!Directory.Exists(directory))
Directory.CreateDirectory(directory);
}
O texto completo do erro é:
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
A pasta em que a subpasta está sendo criada possui permissões totais, portanto, não acho que esse seja o problema. Parece algo relacionado à execução em um ambiente de confiança média.
É normal que ambientes de confiança média proíbam a criação de novos diretórios (por meio do método Directory.Create) e / ou existe alguma solução alternativa para iss