我正在开发一个ASP.NET MVC3 Web应用程序,它使用Entity Framework 4.1和MySQL .
本地一切都运行良好,但当我将解决方案部署到Web主机时,它给我以下错误消息:
System.Security.SecurityException:请求失败 . 在System.Security.CodeAccessSecurityEngine.ThrowSecurityException(RuntimeAssembly asm,PermissionSet grant,PermissionSet denied,RuntimeMethodHandleInternal rmh,SecurityAction action,Object demand,IPermission permThatFailed)at System.Security.CodeAccessSecurityEngine.ThrowSecurityException(Object assemblyOrString,PermissionSet grant,PermissionSet denied,RuntimeMethodHandleInternal rmh ,System.Security.PermissionSetTriple.CheckSetDemand(PermissionSet)上的System.Security.CodeAccessSecurityEngine.CheckSetHelper(PermissionSet grants,PermissionSet denied,PermissionSet requirements,RuntimeMethodHandleInternal rmh,Object assemblyOrString,SecurityAction action,Boolean throwException)中的,SecurityAction操作,对象需求,IPermission permThatFailed)在System.Security.PermissionListSet.DemandFlags的System.Security.PermissionListSet.CheckSetDemand(PermissionSet pset,RuntimeMethodHandleInternal rmh)中的demandSet,PermissionSet和changedDemandset,RuntimeMethodHandleInternal rmh) System.Security.CodeAccessSecurityEngine.ReflectionTargetDemandHelper(Int32权限,PermissionSet targetGrant,CompressedStack securityContext)中的OrGrantSet(Int32标志,PermissionSet grantSet),System.Security.CodeAccessSecurityEngine.ReflectionTargetDemandHelper(Int32权限,PermissionSet targetGrant)失败的操作是:Demand类型失败的第一个权限是:System.Security.PermissionSet
我的Web.Config:
<connectionStrings>
<add name="MySqlMembershipConnection" connectionString="Data Source=localhost;userid=userName;password=passw0rd;database=tv;" providerName="MySql.Data.MySqlClient,Version=6.3.6.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"/>
<add name="TvEntities" connectionString="metadata=res://*/Entities.Model.csdl|res://*/Entities.Model.ssdl|res://*/Entities.Model.msl;provider=MySql.Data.MySqlClient;provider connection string="server=127.0.0.1;port=3351;User Id=userName;password=passw0rd;Persist Security Info=True;database=tv"" providerName="System.Data.EntityClient" />
</connectionStrings>
<system.data>
<DbProviderFactories>
<clear />
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL"
type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data,Version=6.3.6.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</DbProviderFactories>
</system.data>
Trustlevel在Medium上 .
有任何想法吗?
3 回答
您可以随时切换到另一个托管服务提供商完全信任?
尝试使用较新版本的连接器 . 它是reported as a bug,应该在6.3.7和6.4.1中修复 .
添加对System.Web.Providers的引用 . 如果程序集在本地不可用,请使用NuGet Package Manager按如下方式安装它:
还要在web.config文件中验证以下条目是否已添加到配置文件部分
然后,您可以重建应用程序并执行它 .