SecurityException - Dapper auf Shared Hosting

.net-4.0 asp.net dapper securityexception shared-hosting

Frage

Für mein aktuelles Projekt verwende ich Dapper. Alles perfekt. Dann musste ich es auf Shared Hosting bereitstellen. Das Ergebnis ist hier zu sehen (kopierte YSOD):

Beschreibung: Die Anwendung hat versucht, eine Operation auszuführen, die von der Sicherheitsrichtlinie nicht zugelassen wurde. Um dieser Anwendung die erforderliche Berechtigung zu erteilen, wenden Sie sich an Ihren Systemadministrator oder ändern Sie die Vertrauensstufe der Anwendung in der Konfigurationsdatei.

Ausnahmedetails: System.Security.SecurityException: Anforderung für die Berechtigung vom Typ 'System.Security.Permissions.ReflectionPermission, mscorlib, Version = 4.0.0.0, Culture = Neutral, PublicKeyToken = b77a5c561934e089' fehlgeschlagen.

Stack-Ablaufverfolgung

[SecurityException: Anforderung für die Berechtigung vom Typ 'System.Security.Permissions.ReflectionPermission, mscorlib, Version = 4.0.0.0, Culture = neutral, PublicKeyToken = b77a5c561934e089' fehlgeschlagen.] 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, Typ returnType, Type [] parameterTypes, Type owner, Boolean skipVisibility) +40 Dapperx.SqlMapper.CreateParamInfoGenerator (Identitätsidentität) +537 Dapperx.SqlMapper.GetCacheInfo (Identitätsidentität) +376 Dapperx.d__13 1.MoveNext() +644
System.Collections.Generic.List
1..ctor (IEnumerable 1 collection) +327 System.Linq.Enumerable.ToList(IEnumerable 1 Quelle) +58
Dapperx.SqlMapper.Query (IDbConnection cnn, Zeichenfolge sql, Objektparameter, IDbTransaction-Transaktion, boolesch gepuffert, nullable 1 commandTimeout, Nullable commandType) +199
...

Gibt es einen Weg, um es zu lösen (in .NET 4.0)? Soweit ich verstanden habe, was ich bisher gelesen habe, muss der Anbieter einige Teile der Reflektion für den IIS erlauben, was ein Sicherheitsrisiko für sie darstellen könnte ...

Beliebte Antwort

Reflection.Emit, das von Dapper verwendet wird, ist in Medium Trust nicht zulässig.

Sie sollten einen Hosting-Provider finden, der Full Trust bietet. discountasp.net ist eine, die ich vorher benutzt habe.



Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum
Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum