C# 无法在安全透明方法中执行CAS断言安全级别问题

C# 无法在安全透明方法中执行CAS断言安全级别问题,c#,asp.net,mysql,hosting,cas,C#,Asp.net,Mysql,Hosting,Cas,我在主机上遇到了这个错误 System.InvalidOperationException: Cannot perform CAS Asserts in Security Transparent methods at System.Security.CodeAccessSecurityEngine.CheckNReturnSO(PermissionToken permToken, CodeAccessPermission demand, StackCrawlMark& stac

我在主机上遇到了这个错误

  System.InvalidOperationException: Cannot perform CAS Asserts in Security Transparent methods
   at System.Security.CodeAccessSecurityEngine.CheckNReturnSO(PermissionToken permToken, CodeAccessPermission demand, StackCrawlMark& stackMark, Int32 create)
   at System.Security.SecurityRuntime.Assert(PermissionSet permSet, StackCrawlMark& stackMark)
   at System.Security.PermissionSet.Assert()
   at MySql.Data.MySqlClient.MySqlParameter.SetTypeFromValue()
   at MySql.Data.MySqlClient.MySqlParameter.set_Value(Object value)
   at MySql.Data.MySqlClient.MySqlParameter..ctor(String parameterName, Object value)
但在localhost项目中成功运行。我正在使用asp.net 4.0和mysql。在某些资源中,我说我必须更改信任级别,但我无法更改。因为我的托管公司不允许更改此主题的web配置文件。如何在不更改web配置的情况下更改信任级别。如何解决此问题?
提前感谢

我猜您正在使用共享主机,因此如果他们不授予您更改信任级别的权限,您将无法更改信任级别

您正在使用什么版本的MySQL连接器? 您是否尝试将它们复制到项目的\bin文件夹中?(右键单击MySQL.*引用并设置为“Copy Local=true”)


您是否可以尝试从localhost连接到您的数据库服务器,以确保连接字符串参数正常?

直到上周,我一直在使用最新版本的mysql connector。但一周前,主机更改了一些内容,mysite关闭。之后,我尝试使用mysql connector 6.2.5,我的站点成功地在主机上运行。现在我的站点使用mysql connector 6.2.5。所以我使用的是旧版本的mysql connector。这种情况会使我的站点容易受到攻击吗?不会!主机提供商确实在服务器上设置了较少的权限,以避免一个客户应用程序从另一个客户应用程序/专用空间获取信息。较新版本的MySql连接器需要更多权限。。。它就是这样建造的。。这是无法改变的。更改为可以授予您更多访问权限的新主机。权限越多并不意味着安全性越差,除非他们没有在服务器上跨用户/应用程序正确配置权限。我在connector 6.5及更高版本中遇到了此问题。在@dgn的建议下,我恢复到了6.2.5版本,这对我也很有效。