1

中程度の信頼環境(godaddy)でホストされているアプリケーションがあります。アプリケーションを使おうとすると、定期的に発生する奇妙な問題が発生します。

Request for the permission of type 'System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.

中程度の信頼環境で実行されている問題について説明している他の投稿をたくさん読みました。私の質問は、なぜそれが時々機能するのか、そして他の時には上記のメッセージを受け取るのかを理解しようとすることです。エラーが発生すると、最終的には自動的に修正されます。そして明らかに、IISをリサイクルすれば、その修正も同様です。私は彼らがこれの回避策であることを望んでいます。

コールスタックに基づくと、接続を確立し、アセンブリからMetadataWorkspaceを読み込もうとしたことに関連しているように見えます。私のMetadataWorkspaceは、私のWebアプリのApp_Codeフォルダーに含まれています。

部分的なコールスタック:

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.Reflection.Assembly.VerifyCodeBaseDiscovery(String codeBase)
   at System.Reflection.Assembly.GetName(Boolean copiedName)
   at System.Reflection.Assembly.GetName()
   at System.Data.Metadata.Edm.DefaultAssemblyResolver.AssemblyComparer`1.Equals(T x, T y)
   at System.Collections.Generic.HashSet`1.AddIfNotPresent(T value)
   at System.Collections.Generic.HashSet`1.Add(T item)
   at System.Data.Metadata.Edm.DefaultAssemblyResolver.GetAllDiscoverableAssemblies()
   at System.Data.Metadata.Edm.DefaultAssemblyResolver.GetWildcardAssemblies()
   at System.Data.Metadata.Edm.MetadataArtifactLoaderCompositeResource.LoadResources(String    assemblyName, String resourceName, ICollection`1 uriRegistry, MetadataArtifactAssemblyResolver   resolver)
   at System.Data.Metadata.Edm.MetadataArtifactLoaderCompositeResource.CreateResourceLoader(String path, ExtensionCheck extensionCheck, String validExtension, ICollection`1 uriRegistry, MetadataArtifactAssemblyResolver resolver)
   at System.Data.Metadata.Edm.MetadataArtifactLoader.Create(String path, ExtensionCheck extensionCheck, String validExtension, ICollection`1 uriRegistry, MetadataArtifactAssemblyResolver resolver)
   at System.Data.EntityClient.EntityConnection.SplitPaths(String paths)
   at System.Data.EntityClient.EntityConnection.GetMetadataWorkspace(Boolean initializeAllCollections)
   at System.Data.Objects.ObjectContext.RetrieveMetadataWorkspaceFromConnection()
   at System.Data.Objects.ObjectContext..ctor(EntityConnection connection, Boolean isConnectionConstructor)
   at System.Data.Objects.ObjectContext..ctor(String connectionString, String defaultContainerName)

これに対する回避策はありますか?

4

0 に答える 0