大家好,我终于找到了解决问题的方法,所以我会尽力帮助那些有同样问题的人。部分信任和中等信任级别是一样的,请注意这一点。
我的第一步是绝对必要的。不要忘记将您的信任级别更改为“中”。之后,您需要从
官方网站获得正确的 .Net 连接器版本
请注意选择您的托管服务提供商使用的版本。例如我的托管公司正在使用 Mysql Connector Net 6.5.4
其次,您需要配置您的项目 webconfig 文件,该文件将使用您的 .dll 文件并在中等信任级别下获得必要的权限。
你需要在你的下面添加<configuration>这样的东西;
<mscorlib>
<security>
<policy>
<PolicyLevel version="1">
<SecurityClasses>
<SecurityClass Name="MySqlClientPermission" Description="MySql.Data.MySqlClient.MySqlClientPermission, MySql.Data, Version=6.6.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"/>
</SecurityClasses>
</PolicyLevel>
</policy>
</security>
</mscorlib>
如果您的系统没有自动添加它,<system.web>您需要添加;
<assemblies>
<add assembly="MySql.Data, Version=6.5.4.0, Culture=neutral, PublicKeyToken=C5687FC88969C44D"/>
<add assembly="MySql.Data.Entity, Version=6.5.4.0, Culture=neutral, PublicKeyToken=C5687FC88969C44D"/>
<add assembly="MySql.Web, Version=6.5.4.0, Culture=neutral, PublicKeyToken=C5687FC88969C44D"/>
</assemblies>
有时这些步骤可能还不够,您需要编辑 web_mediumtrust.config 下的
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config
您需要在
<SecurityClasses>
<securityclass Name="MySqlClientPermission" Description="MySql.Data.MySqlClient.MySqlClientPermission, MySql.Data, Version=6.5.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
和
<NamedPermissionSets>
<iPermission class = "MysqlClientPermission" version = "1">
<add connectionString = "Server =; Database =;" restrictions = "User =; User Id =; Password =; Port =; Pooling =;" KeyRestrictionBehavior = "(Prevent Usage | Allow Only)" />
</iPermission>
请注意您正在使用的版本,不要忘记据此更改行。如果您仍然无法弄清楚,那么有一个对您非常有用的链接
部分信任下的信任等级