我在部分信任環境中遇到MySql.Data問題。 我已將MySql.Data添加到GAC(通過將其與來自mysql.com站點的MSI進行安裝)。正如你可以在這裏看到:GAC中的MySql.Data仍然SecurityException
>gacutil /l | grep -i mysql
MySql.Data, Version=6.5.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d,
processorArchitecture=MSIL
MySql.Data.CF, Version=6.5.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c4
4d, processorArchitecture=MSIL
MySql.Data.Entity, Version=6.5.4.0, Culture=neutral, PublicKeyToken=c5687fc889
69c44d, processorArchitecture=MSIL
MySql.Web, Version=6.5.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d,
processorArchitecture=MSIL
>
我有以下內容添加到我的web.config:
<configuration>
<system.web>
<trust level="Vevida"/>
<compilation debug="true" targetFramework="4.0">
<assemblies>
<add assembly="MySql.Data, Version=6.5.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"/>
</assemblies>
</compilation>
</system.web>
</configuration>
但我仍然得到以下異常: Exception Details: System.Security.SecurityException: Request for the permission of type 'MySql.Data.MySqlClient.MySqlClientPermission, MySql.Data, Version=6.5.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d' failed.
它被拋出時,我嘗試打開一個連接。
我不知道我可以檢查更多。 據MySQL文檔,我至少需要以下權限: System.Net.SocketPermission,System.Security.Permissions.ReflectionPermission,System.Net.DnsPermission和System.Security.Permissions.SecurityPermission
在我信任級別我這些:
<IPermission
class="SocketPermission"
version="1"
Unrestricted="true">
</IPermission>
<IPermission
class="ReflectionPermission"
version="1"
Flags="RestrictedMemberAccess"/>
<IPermission
class="DnsPermission"
version="1"
Unrestricted="true"/>
<IPermission
class="SecurityPermission"
version="1"
Flags="Execution,ControlPrincipal,ControlThread,SerializationFormatter"/>
據我在文檔中可以看到,這就夠了。還嘗試將SecurityPermission和ReflectionPermission設置爲無限制,這沒有幫助。
你有什麼想法嗎?
所以,我要在我的信任配置添加MySqlClientPermission?我不明白。我的主機提供商向我發送了他們的配置,我可以通過這個程序集打開一個連接,並且在他們的配置中我沒有看到這個類。我會在今天晚些時候嘗試 – 2012-03-21 15:05:11
我想我做錯了什麼,因爲當我在我的信任文件中添加MySqlClientPermission時,我得到的只是錯誤。我應該在哪裏添加?找不到任何關於這個 – 2012-03-21 17:51:18
除此之外,我發現MySqlClientPermission只是其他4個權限的「短版」,我已經設置了 – 2012-03-21 18:10:05