ASP MVC 3网站错误

时间:2014-09-23 07:39:03

标签: .net asp.net-mvc

我有一个关于asp mvc的网站,突然间它开始给我这个错误了。 我不确定这个例外是什么意思。

Attempt by method 'ASP._Page_Views_Home_Index_cshtml.Execute()' to access method'System.Web.WebPages.WebPageExecutingBase.BeginContext(System.String, Int32, Int32, Boolean)' failed.


Stack trace:

[MethodAccessException: Attempt by method 'ASP._Page_Views_Home_Index_cshtml.Execute()' to access        method 'System.Web.WebPages.WebPageExecutingBase.BeginContext(System.String, Int32, Int32, Boolean)'     failed.]
   ASP._Page_Views_Home_Index_cshtml.Execute() in c:\Umbraco upgrade\ASIC MoneySmart v6.2.1   Stable (Final)\MoneySmart.Admin\Views\Home\Index.cshtml:2
  System.Web.WebPages.WebPageBase.ExecutePageHierarchy() +280
  System.Web.Mvc.WebViewPage.ExecutePageHierarchy() +104
  System.Web.WebPages.StartPage.ExecutePageHierarchy() +143
  System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter       writer, WebPageRenderingBase startPage) +157
  System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context) +378
  System.Web.Mvc.<>c__DisplayClass1c.<InvokeActionResultWithFilters>b__19() +33
  System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter,    ResultExecutingContext preContext, Func`1 continuation) +727696
  System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext      controllerContext, IList`1 filters, ActionResult actionResult) +265
  System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String   actionName) +727652
    System.Web.Mvc.Controller.ExecuteCore() +159
    System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext) +334
    System.Web.Mvc.<>c__DisplayClassb.<BeginProcessRequest>b__5() +62
    System.Web.Mvc.Async.<>c__DisplayClass1.<MakeVoidDelegate>b__0() +15
    System.Web.Mvc.<>c__DisplayClasse.<EndProcessRequest>b__d() +52
    System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +606
    System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) 

3 个答案:

答案 0 :(得分:1)

感谢您的帮助..实际上我的项目中还有另一个问题我使用的是不同版本的程序集。在web.config中添加以下代码解决了我的问题

  <assemblyIdentity name="System.Web.Helpers"
         publicKeyToken="31bf3856ad364e35" />
    <bindingRedirect oldVersion="1.0.0.0" newVersion="2.0.0.0"/>
    </dependentAssembly>
    <dependentAssembly>
     <assemblyIdentity name="System.Web.WebPages"
         publicKeyToken="31bf3856ad364e35" />
    <bindingRedirect oldVersion="1.0.0.0" newVersion="2.0.0.0"/>
    </dependentAssembly>

答案 1 :(得分:0)

根据MSDN

  

尝试访问方法无效时引发的异常,例如从部分受信任的代码访问私有方法。

     

在以下情况下抛出此异常:

     
      
  • 使用反射从部分受信任的代码访问无法从正常编译代码访问的私有,受保护或内部方法。
  •   
  • 从透明代码访问安全关键方法。
  •   
  • 类库中方法的访问级别已更改,并且尚未重新编译引用该库的一个或多个程序集。
  •   

也许可以尝试调整application's trust level

答案 2 :(得分:0)

您的问题可能是由您运行应用的环境中的中等信任设置引起的。确保在web.config中相应地调整设置。根据{{​​3}}的建议,执行以下操作:

  1. 在system.web下,创建以下元素<trust level="Medium" originUrl=".*" />

  2. 在appSettings下,设置键&#34; umbracoUseMediumTrust&#34; to&#34; true&#34;

  3. 在configSections下,修改name =&#34; clientDependency&#34;的section元素。有一个属性requirePermission =&#34; false&#34;

  4. 您还应该更新任何不在Medium-Trust中工作的外部库,以支持中等信任。例如,Ninject IOC库为Medium-Trust环境提供了单独的库版本。

    此外,在使用Nuget安装的Umbraco版本时,已经报告了 MethodAccessException 的问题,因此您应该查看此帖子,了解如何使用Nuget正确安装Umbraco:

    site