具有 MySQL 的实体框架在部署到托管环境时引发异常
本文关键字:环境 异常 MySQL 实体 框架 部署 具有 | 更新日期: 2023-09-27 18:33:38
我部署了一个 ASP.NET 应用程序,它使用:.NET 4,5实体框架 6.1.3MySql.Data 6.9.8MySql.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
失败的程序集的区域是:我的计算机
如果我从本地计算机上的IIS服务器访问托管的MySQL数据库,则一切正常。
我已尝试/检查:
- 确保 DLL 的 CopyLocal 设置为 true
- 向 web.config 添加
trust level
设置;这会导致应用程序在托管服务器上失败 - 我有最新版本的 MySQL DLL
- 二手谷歌
- 将其作为托管公司的支持问题提出并搜索他们的常见问题解答
如何解决此问题?
让人们知道您正在使用哪个托管服务提供商可能会有所帮助 - 他们自己可能遇到过类似的问题。
一些托管服务提供商对特定的配置设置很挑剔,例如您提到的信任设置。
一些托管服务提供商还为其客户提供快速帮助 - 这可能是许多新客户面临的问题,如果是这样,他们可以在常见问题解答/帮助部分中介绍如何解决此问题。如果常见问题解答/帮助部分中未涵盖,则客户支持可能会提供帮助。
我得到了托管公司的标准回复。解决方案似乎是使用 GAC 中的 DLL。但是,由于使用MySQL存在问题,原因有几个,我转而使用Azure SQL服务器。这是一个非常轻巧的应用程序,因此成本非常低。当我有一些空闲时间时,我会回到 MySQL 解决方案 - 并分享我在这里找到的任何内容。