Странное исключение в проекте MVC 3 - PullRequest
4 голосов
/ 20 ноября 2010

Я получаю странную ошибку с проектом MVC 3.0 RC.

Кажется, это расстроено из-за того, что мое приложение не является однородным AppDomain Вчера все работало нормально, не уверен, что изменилось.

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)

Исключение выдается при изменении View.Title в Index.cshtml

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

Есть идеи? Гугл не принес радости.

UPDATE

Кажется, мне действительно не нравилось менять доверие к web.config

Я добавил следующую строку, чтобы обойти другую проблему:

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

После удаления он снова работает. Это дизайн?

1 Ответ

3 голосов
/ 20 ноября 2010

Да, я считаю, что это ожидается.

Существуют некоторые ограничения при использовании динамической диспетчеризации, подобные этой. Новая функция dynamic в .NET 4 не должна была использоваться для подобных вещей, но она, безусловно, хороша, когда во многих случаях она отлично работает. Основной целью dynamic было улучшение взаимодействия COM.

Например, некоторые другие неработающие сценарии используют динамическую диспетчеризацию в VB в приложении Medium Trust.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...