实体框架与MySQL在部署到托管环境时抛出异常

时间:2016-02-06 14:04:37

标签: c# mysql asp.net entity-framework

我已经部署了一个ASP.NET应用程序,它使用: .NET 4,5 实体框架6.1.3 MySql.Data 6.9.8 MySql.Data.Entity 6.9.8

它在我的开发环境中正常工作。

访问数据库时收到以下错误消息。

  

'MySql.Data.MySqlClient.MySqlClientFactory'的类型初始值设定项   抛出异常。

     

System.Security.SecurityException:   System.Security.Permissions.SecurityPermission at   MySql.Data.MySqlClient.MySqlClientFactory..cctor()

     

失败的第一个权限的类型是:   System.Security.Permissions.SecurityPermission

     

失败的程序集区域是:MyComputer

如果我从本地计算机上的IIS服务器访问托管的MySQL数据库,一切正常。

我试过/检查过:

  • 确保DLL将CopyLocal设置为true
  • 向web.config添加trust level设置;这导致应用程序在托管服务器上失败
  • 我有最新版本的MySQL DLL
  • 二手谷歌
  • 将其提升为托管公司的支持问题并搜索其常见问题解答

如何解决此问题?

2 个答案:

答案 0 :(得分:1)

让人们知道您使用的是哪个托管服务提供商可能会有所帮助 - 他们本身也可能遇到类似的问题。

某些托管服务提供商对特定的配置设置很挑剔,例如您提到的信任设置。

一些托管服务提供商也为他们的客户提供快速帮助 - 这可能是他们的许多新客户面临的问题,如果是这样,他们可以在FAQ /帮助部分介绍如何解决这个问题。如果常见问题/帮助部分未涉及此问题,则客户支持部门可能会提供帮助。

答案 1 :(得分:0)

我收到了托管公司的标准回复。解决方案似乎是使用GAC的DLL。但是,由于使用MySQL存在问题,有几个原因,我转而使用Azure SQL服务器。这是一个非常轻的应用程序,因此成本非常低。当我有空闲时间时,我会回到MySQL解决方案 - 并分享我在这里找到的任何东西。