对于我的当前项目,我使用Dapper。一切都很完美。然后我需要在共享主机上部署它。结果可以在这里看到(复制YSOD):
描述:应用程序尝试执行安全策略不允许的操作。要授予此应用程序所需的权限,请联系系统管理员或更改配置文件中的应用程序信任级别。
异常详细信息:System.Security.SecurityException:请求类型“System.Security.Permissions.ReflectionPermission,mscorlib,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089”的权限失败。
堆栈跟踪
SecurityException: 请求类型“System.Security.Permissions.ReflectionPermission,mscorlib,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089”的权限失败。 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__13.MoveNext() +644 System.Collections.Generic.List`1..ctor(IEnumerable`1 collection) +327 System.Linq.Enumerable.ToList(IEnumerable`1 source) +58 Dapperx.SqlMapper.Query(IDbConnection cnn, String sql, Object param, IDbTransaction transaction, Boolean buffered, Nullable`1 commandTimeout, Nullable`1 commandType) +199 ...
有没有办法在.NET 4.0中解决它?
据我所了解,到目前为止我所读的内容,提供程序必须允许IIS的一些反射部分,这可能对他们构成安全风险...
描述:应用程序尝试执行安全策略不允许的操作。要授予此应用程序所需的权限,请联系系统管理员或更改配置文件中的应用程序信任级别。
异常详细信息:System.Security.SecurityException:请求类型“System.Security.Permissions.ReflectionPermission,mscorlib,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089”的权限失败。
堆栈跟踪
SecurityException: 请求类型“System.Security.Permissions.ReflectionPermission,mscorlib,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089”的权限失败。 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__13.MoveNext() +644 System.Collections.Generic.List`1..ctor(IEnumerable`1 collection) +327 System.Linq.Enumerable.ToList(IEnumerable`1 source) +58 Dapperx.SqlMapper.Query(IDbConnection cnn, String sql, Object param, IDbTransaction transaction, Boolean buffered, Nullable`1 commandTimeout, Nullable`1 commandType) +199 ...
有没有办法在.NET 4.0中解决它?
据我所了解,到目前为止我所读的内容,提供程序必须允许IIS的一些反射部分,这可能对他们构成安全风险...