Pergunta

Estou recebendo um erro estranho com um projeto MVC 3.0 RC.

Parece que está chateado com o meu aplicativo não ser um AppDomain homogêneoEstava funcionando bem ontem, não tenho certeza do que mudou.

System.InvalidOperationException was unhandled by user code
Message=Dynamic operations can only be performed in homogenous AppDomain.
Source=System.Core
StackTrace:
    at System.Runtime.CompilerServices.CallSiteBinder.BindCore[T](CallSite`1 site, Object[] args)
    at System.Dynamic.UpdateDelegates.UpdateAndExecute2[T0,T1,TRet](CallSite site, T0 arg0, T1 arg1)
    at ASP.Index_cshtml.Execute() in c:\Projects\RealJobs.Branch\RealJobs.MVC\Views\Jobs\Index.cshtml:line 5
    at System.Web.WebPages.WebPageBase.ExecutePageHierarchy()
    at System.Web.Mvc.WebViewPage.ExecutePageHierarchy()
    at System.Web.WebPages.StartPage.RunPage()
    at System.Web.WebPages.StartPage.ExecutePageHierarchy()
    at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage)
    at System.Web.Mvc.RazorView.RenderView(ViewContext viewContext, TextWriter writer, Object instance)
    at System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter writer)
    at System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context)
    at System.Web.Mvc.ControllerActionInvoker.InvokeActionResult(ControllerContext controllerContext, ActionResult actionResult)
    at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass1c.<InvokeActionResultWithFilters>b__19()
    at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func`1 continuation)

A exceção foi lançada quando a visualização.Title é modificada no index.cshtml

@{
   View.Title = "Jobs | realjobs.com.au";
}

Alguma ideia? O Google não produziu alegria.

ATUALIZAR

Parece que realmente não gostava que eu mudasse a confiança na web.config

Eu adicionaria a seguinte linha para contornar outro problema:

<trust legacyCasModel="true" level="Full"/>

Uma vez removido, ele está funcionando novamente. Isso é por design?

Foi útil?

Solução

Sim, acredito que isso é esperado.

Existem algumas limitações no uso de despacho dinâmico como este. O novo dynamic O recurso no .NET 4 não foi feito para ser usado para coisas como essa, mas com certeza é bom quando funciona muito bem em muitos casos. A principal intenção de dynamic foi para melhor com interop.

Por exemplo, alguns outros cenários que não funcionam estão usando o Dynamic Despacho em VB em um aplicativo de confiança média.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top