首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于受限制信任的共享托管环境的MVC网站

基于受限制信任的共享托管环境的MVC网站
EN

Stack Overflow用户
提问于 2015-12-22 14:49:48
回答 1查看 241关注 0票数 2

我有一个简单的MVC 5 web应用程序运行在ASP.NET 4.6上。在IIS中本地配置的网站可以工作,但是当发布版本并上载到共享宿主环境时,我会收到一个错误:“重写成员时违反了继承安全规则”。

'/‘应用程序中的服务器错误。 重写成员时违反继承安全规则:'SimpleInjector.Integration.Web.Mvc.SimpleInjectorDependencyResolver.GetService(System.Type)'.重写方法的安全可访问性必须与被覆盖的方法的安全可访问性相匹配。 描述:在执行当前web请求时发生了未处理的异常。请查看堆栈跟踪以获得有关错误的更多信息,以及它起源于代码的位置。 异常详细信息:'SimpleInjector.Integration.Web.Mvc.SimpleInjectorDependencyResolver.GetService(System.Type)'.:System.TypeLoadException:重写成员时违反的继承安全规则重写方法的安全可访问性必须与被覆盖的方法的安全可访问性相匹配。 源错误: 在执行当前web请求期间生成一个未处理的异常。有关异常的起源和位置的信息可以使用下面的异常堆栈跟踪来标识。 堆栈跟踪: 'SimpleInjector.Integration.Web.Mvc.SimpleInjectorDependencyResolver.GetService(System.Type)'.:重写成员时违反的继承安全规则:TypeLoadException重写方法的安全可访问性必须与被覆盖的方法的安全可访问性相匹配。

我的理解是MVC web应用程序需要以完全信任的方式运行,但是托管提供商已经表示这是不可能的,并且它们在机器级别上有一个规则集,将应用程序限制为中等信任。

在代码级别上有解决办法吗?我不敢相信要运行一个简单的web应用程序,您需要一个可以配置成具有完全访问权限的专用web服务器框。

是否有另一个IoC容器可以使用而不会导致这种安全冲突?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-22 16:21:38

我们忘记用正确的属性标记该类,这将导致此异常。由于微软已经放弃了对ASP.NET web应用程序的部分信任,我们(简单的喷射器贡献者)可能也不会在这方面进行投资。换句话说,不要指望我们(很快)修复这个错误。

要解决这个问题,请实现您自己的SimpleInjectorDependencyResolver。这样做很简单;这只是几行代码,您可以从简单注入器的源代码中复制这些代码。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34418477

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档