SecurityException - Dapper на виртуальном хостинге

Для моего текущего проекта я использую Dapper. Все идеально. Затем мне нужно было развернуть его на виртуальном хостинге. Результат можно увидеть здесь (скопировано YSOD):

Description: The application attempted to perform an operation not allowed by the security policy. To grant this application the required permission please contact your system administrator or change the application's trust level in the configuration file.

Exception Details: System.Security.SecurityException: Request for the permission of type 'System.Security.Permissions.ReflectionPermission, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.

Трассировки стека

[SecurityException: Request for the permission of type 'System.Security.Permissions.ReflectionPermission, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.] System.Security.CodeAccessSecurityEngine.Check(Object demand, StackCrawlMark& stackMark, Boolean isPermSet) +0
System.Security.CodeAccessSecurityEngine.Check(CodeAccessPermission cap, StackCrawlMark& stackMark) +31
System.Security.CodeAccessPermission.Demand() +46
System.Reflection.Emit.DynamicMethod.PerformSecurityCheck(Type owner, StackCrawlMark& stackMark, Boolean skipVisibility) +9461551
System.Reflection.Emit.DynamicMethod..ctor(String name, Type returnType, Type[] parameterTypes, Type owner, Boolean skipVisibility) +40 Dapperx.SqlMapper.CreateParamInfoGenerator(Identity identity) +537 Dapperx.SqlMapper.GetCacheInfo(Identity identity) +376 Dapperx.d__131.MoveNext() +644<br> System.Collections.Generic.List1..ctor(IEnumerable1 collection) +327 System.Linq.Enumerable.ToList(IEnumerable1 source) +58
Dapperx.SqlMapper.Query(IDbConnection cnn, String sql, Object param, IDbTransaction transaction, Boolean buffered, Nullable1 commandTimeout, Nullable1 commandType) +199
...

Есть ли способ, как это решить (в .NET 4.0)? Насколько я понимаю, что я прочитал до сих пор, поставщик должен разрешить некоторые части для IIS, которые могут представлять угрозу безопасности для них ...

 Marc Gravell♦28 мая 2012 г., 13:11
Я не могу найти способ сделать "великолепный" работать без этого разрешения :(
 stej29 мая 2012 г., 07:28
Они сказали, что если среднее доверие слишком ограничено, то мы можем заказать хостинг на их серверах :( Пытаюсь с другим провайдером ..
 Marc Gravell♦28 мая 2012 г., 16:33
это, безусловно, стоит попробовать ... Я хотел бы услышать, как это происходит
 stej28 мая 2012 г., 16:03
@MarcGravell Я нашел «код из GAC, который всегда работает с полным доверием» (msdn.microsoft.com/en-us/library/87x8e4d1), поэтому, если я уговорю их установить Dapper в GAC, проблема исчезнет, верно? Кроме того .. вы можете распространять Dapper со строгим именем. В противном случае люди должны подписать его вручную :)

Ответы на вопрос(1)

Reflection.Emit, который используется Dapper, не разрешен в Medium Trust.

Вы должны найти хостинг-провайдера, который предлагает полное доверие.discountasp.net это тот, который я использовал раньше.

Ваш ответ на вопрос