由于Godaddy的Windows主机Deluxe方案只提供了2个200M的SQL Server 数据库,对于需要建立多个网站来说不是很方便。值得高兴的是,Godaddy提供了25个1G容量的MySQL数据库。而目前许多网站,或者自己建站都会考虑对不同的数据库的支持,BlogEngine.NET就是很好的例子(它几乎支持任何数据库,同时提供了XML作为数据源的支持),我们在编写网站的时候,也经常会使用ASP.NET中的System.Data.Common提供的工厂模式来连接数据库。
错误详情
当我们在本机上通过MySql.Data.dll能够正常运行网站,上传到Godaddy就会出现权限问题,提示如下错误:
Request for the permission of type 'System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.
解决方案 1
遇到问题后,当然是到网上搜索解决方案,有意思的是一篇文章《MySQL vs. GoDaddy: The ASP.Net Work-Around》里说道Godaddy不让你轻松使用MySQL的,毕竟MySql.Data中部分功能会涉及到High Trust Level,而Godaddy限制了Trust Level为中级(Medium),所以通过MySql.Data来连接数据库就会报权限错误。
当然,知道了缘由,自然就有解决方案了。之前提到的那篇文章给出了一个比较有技术含量的方法,即重新编译MySql.Data.dll,让其能够在Medium trust environment下正常工作,并提供了一个已经编译好可以直

