MVC3 + EF4 + MySQL System.Security.SecurityException: запрос не выполнен - PullRequest
1 голос
/ 23 декабря 2011

Я разрабатываю веб-приложение ASP.NET MVC3, которое использует Entity Framework 4.1 и MySQL.

Локально все работает хорошо, но когда я развертываю решение на веб-хосте, оно дает мне следующеесообщение об ошибке:

System.Security.SecurityException: запрос не выполнен.в System.Security.CodeAccessSecurityEngine.ThrowSecurityException (RuntimeAssembly asm, PermissionSet предоставлен, PermissionSet отклонен, RuntimeMethodHandleInternal rmh, действие SecurityAction, Требование к объекту, IPermission permThatFailed) в System.Security.etetetetSecurityExChirtSecuritySecranceSecuritySecranceSecuritySecranceSecuritySecranceSecuritySecuritySecurityEctionMenceSigne, Действие SecurityAction, требование объекта, IPermission permThatFailed) в System.Security.CodeAccessSecurityEngine.CheckSetHelper (предоставление PermissionSet, отклонение PermissionSet, требования PermissionSet, действие RuntimeMethodHandleInternal rmh, действие AssemblyOrStetdemandSet, PermissionSet & alteredDemandset, RuntimeMethodHandleInternal rmh) в System.Security.PermissionListSet.CheckSetDemand (набор PermissionSet, RuntimeMethodHandleInternal rmh) в System.Security.PermissionListSet.DemandFgsOrGrantSet (флаги Int32, PermissionSet grantSet) в System.Security.CodeAccessSecurityEngine.ReflectionTargetDemandHelper (разрешение Int32, PermissionSet targetGrant, CompressedStack securityContext) в разрешении System.Security.CodeAccessSecurityEngine.из первых неудачных разрешений было: System.Security.PermissionSet

My Web.Config:

<connectionStrings>
    <add name="MySqlMembershipConnection" connectionString="Data Source=localhost;userid=userName;password=passw0rd;database=tv;" providerName="MySql.Data.MySqlClient,Version=6.3.6.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"/>
    <add name="TvEntities" connectionString="metadata=res://*/Entities.Model.csdl|res://*/Entities.Model.ssdl|res://*/Entities.Model.msl;provider=MySql.Data.MySqlClient;provider connection string=&quot;server=127.0.0.1;port=3351;User Id=userName;password=passw0rd;Persist Security Info=True;database=tv&quot;" providerName="System.Data.EntityClient" />
</connectionStrings>

<system.data>
    <DbProviderFactories>
        <clear />
        <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL"
        type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data,Version=6.3.6.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
    </DbProviderFactories>
</system.data>

Уровень доверия на среднем.

Есть идеи?

Ответы [ 3 ]

2 голосов
/ 27 декабря 2011

Вы всегда можете переключиться на другого хостинг-провайдера с полным доверием?

2 голосов
/ 23 декабря 2011

Попробуйте использовать более новую версию разъема. было сообщено как ошибка и должно быть исправлено в 6.3.7 и 6.4.1.

0 голосов
/ 28 декабря 2011

Добавьте ссылку на System.Web.Providers. Если сборка недоступна локально, установите ее с помощью диспетчера пакетов NuGet следующим образом:

PM> Install-Package System.Web.Providers

Также проверьте в файле web.config, что в раздел профиля была добавлена ​​следующая запись

<roleManager defaultProvider="DefaultRoleProvider">
    <providers>
        <add name="DefaultRoleProvider" type="System.Web.Providers.DefaultRoleProvider,            
                   System.Web.Providers, Version=1.0.0.0, Culture=neutral,  
                   PublicKeyToken=31bf3856ad364e35"   
                   connectionStringName="DefaultConnection" applicationName="/" />
    </providers>
</roleManager>

Затем вы можете пересобрать приложение и запустить его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...