ASP.Net:MySQL错误SecurityException:System.Security.Permissions.SecurityPermission

时间:2013-07-25 22:24:18

标签: asp.net mysql visual-studio-2012 permissions securityexception

我收到以下错误消息:

Server Error in '/' Application.

Security Exception

Description: The application attempted to perform an operation not allowed by the security policy.  To grant this application the required permission please contact your system administrator or change the application's trust level in the configuration file. 

Exception Details: System.Security.SecurityException: System.Security.Permissions.SecurityPermission

Source Error: 

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace: 
[SecurityException: System.Security.Permissions.SecurityPermission]
   MySql.Data.MySqlClient.MySqlClientFactory..cctor() +23

Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.272

MySQL:mysql-connector-net-6.7.4

如果从共享的Web托管环境运行,则只会出现此问题。该网站在当地运作良好。我知道我的共享托管环境使用的.Net连接器的版本,因为这是我解决的另一个问题,我与托管服务提供商进行了沟通。

错误很有趣。我可以第一次去默认页面,没有问题。然后我打开一个弹出对话框,弹出另一个错误消息框。

调用目标抛出了异常。

以上就是一切,除了好的按钮。

我可以调出第一个弹出窗口,一个登录对话框。该对话框不会调用MySQL。我打开第二个对话框,一个注册对话框,然后抛出“Exception has thrown ...”消息框。之后,我无法返回登录对话框,因为我收到“Exception has ...”消息框。如果我按F5刷新浏览器(IE或Chrome),我会从上面得到错误。上述错误表示MySQL和一些权限。

我怀疑“Exception已被抛出......”错误是同一个MySQL的结果,只是页面有内存。关闭浏览器窗口并再次启动浏览器窗口也无济于事,尽管在可行的Chrome浏览器上,只需要浏览器窗口就可以完全关闭。

我在一个共享的托管环境中,所以我基本上什么都没有,所以我无法访问任何日志,至少我能想到的。

最后一个想法可能相关也可能不相关。昨天和前几天我的开发工作是在使用Windows 7 Professional和Visual Studio 2012 Professional(所有最新的服务包和更新)的系统上完成的,而今天我在我的另一台计算机上工作,这是一个使用Windows 8 Professional的系统和Visual Studio 2012 Ultimate(OS和VS上的所有最新服务包和更新)。我正在阅读其他一些关于VS2012旗舰版有问题的无关问题的帖子,所以我不确定它与它有什么关系,但是从昨天到今天这种情况发生了变化。

是的,我删除了服务器上的所有内容并重新上传了所有内容。我先做了一个干净的解决方案,构建了发行版,然后发布了。我仍然收到同样的错误。

有什么想法吗?

1 个答案:

答案 0 :(得分:4)

默认情况下,大多数主机使用“中等”信任级别。您可以按如下所示更改web.config以获得完全信任:

<configuration> 
  <system.web> 
    <trust level="Full" /> 
  </system.web> 
</configuration>