2014-08-30 2 views
0

ASP.net MVC 5 응용 프로그램을 만들었습니다. 불행히도 내 호스트는 중간 신뢰를 사용하고 있습니다. 다른 모든 것은 내가 "~ /"을 사용하는 응용 프로그램을 URL 경로에서 "/"를 사용하도록 변경했을 때 작동합니다.Error with System.Web.Mvc.UrlHelper.GenerateUrl 보안 예외

@using (Html.BeginForm("Index", "Home", new { ReturnUrl = ViewBag.ReturnUrl }, FormMethod.Post, new { @class = "form-horizontal", role = "form" })) 

오류 메시지는 다음과 같습니다 : 이제 내 문제는 내가 아래의 코드와 양식을 만드는 오전 때 응용 프로그램이() 함수 System.Web.Mvc.UrlHelper.GenerateUrl에 예외를 던지고 있다는 점이다

응용 프로그램이 보안 정책에서 허용하지 않는 작업을 수행하려고했습니다. 이 응용 프로그램에 필요한 사용 권한을 부여하려면 시스템 관리자에게 문의하거나 구성 파일에서 응용 프로그램의 신뢰 수준을 변경하십시오. 어떤 도움을 이해할 수있을 것이다

[SecurityException: Request for the permission of type 'System.Security.Permissions.SecurityPermission, mscorlib, Version=4.0.0.0, Culture=neutral,    PublicKeyToken=b77a5c561934e089' failed.] 
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.Web.HttpContext.System.IServiceProvider.GetService(Type service) +54 
System.Web.HttpContextWrapper.GetService(Type serviceType) +11 
System.Web.WebPages.UrlRewriterHelper.IsUrlRewriterTurnedOn(HttpContextBase httpContext) +108 
System.Web.WebPages.UrlRewriterHelper.WasRequestRewritten(HttpContextBase httpContext) +13 
System.Web.WebPages.UrlUtil.GenerateClientUrlInternal(HttpContextBase httpContext, String contentPath) +138 
System.Web.WebPages.UrlUtil.GenerateClientUrl(HttpContextBase httpContext, String contentPath) +97 
System.Web.Mvc.UrlHelper.GenerateUrl(String routeName, String actionName, String controllerName, RouteValueDictionary routeValues, RouteCollection routeCollection,  RequestContext requestContext, Boolean includeImplicitMvcValues) +139 
System.Web.Mvc.Html.FormExtensions.BeginForm(HtmlHelper htmlHelper, String actionName, String controllerName, RouteValueDictionary routeValues, FormMethod method,  IDictionary`2 htmlAttributes) +41 
System.Web.Mvc.Html.FormExtensions.BeginForm(HtmlHelper htmlHelper, String actionName, String controllerName, Object routeValues, FormMethod method, Object    htmlAttributes) +58 
ASP._Page_Views_Shared__EnquiryPartial_cshtml.Execute() in d:\inetpub\vhosts\mydomain.com\httpdocs\Views\Shared\_EnquiryPartial.cshtml:16 
System.Web.WebPages.WebPageBase.ExecutePageHierarchy() +198 
System.Web.Mvc.WebViewPage.ExecutePageHierarchy() +104 
System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage) +90 
System.Web.Mvc.RazorView.RenderView(ViewContext viewContext, TextWriter writer, Object instance) +235 
System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter writer) +107 
System.Web.Mvc.HtmlHelper.RenderPartialInternal(String partialViewName, ViewDataDictionary viewData, Object model, TextWriter writer, ViewEngineCollection     viewEngineCollection) +277 
System.Web.Mvc.Html.PartialExtensions.Partial(HtmlHelper htmlHelper, String partialViewName, Object model, ViewDataDictionary viewData) +91 
System.Web.Mvc.Html.PartialExtensions.Partial(HtmlHelper htmlHelper, String partialViewName) +32 
ASP._Page_Views_Home_Parallax_cshtml.Execute() in d:\inetpub\vhosts\dmydomain.com\httpdocs\Views\Home\Parallax.cshtml:670 
System.Web.WebPages.WebPageBase.ExecutePageHierarchy() +198 
System.Web.Mvc.WebViewPage.ExecutePageHierarchy() +104 
System.Web.WebPages.StartPage.RunPage() +17 
System.Web.WebPages.StartPage.ExecutePageHierarchy() +64 
System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage) +78 
System.Web.Mvc.RazorView.RenderView(ViewContext viewContext, TextWriter writer, Object instance) +235 
System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter writer) +107 
System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context) +291 
System.Web.Mvc.ControllerActionInvoker.InvokeActionResult(ControllerContext controllerContext, ActionResult actionResult) +13 
System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext   controllerContext, ActionResult actionResult) +56 
System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext   controllerContext, ActionResult actionResult) +420 
System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult) +52 
System.Web.Mvc.Async.<>c__DisplayClass28.<BeginInvokeAction>b__19() +173 
System.Web.Mvc.Async.<>c__DisplayClass1e.<BeginInvokeAction>b__1b(IAsyncResult asyncResult) +100 
System.Web.Mvc.Async.WrappedAsyncResult`1.CallEndDelegate(IAsyncResult asyncResult) +10 
System.Web.Mvc.Async.WrappedAsyncResultBase`1.End() +49 
System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) +27 
System.Web.Mvc.Controller.<BeginExecuteCore>b__1d(IAsyncResult asyncResult, ExecuteCoreState innerState) +13 
System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +36 
System.Web.Mvc.Async.WrappedAsyncResultBase`1.End() +54 
System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +41 
System.Web.Mvc.Controller.<BeginExecute>b__15(IAsyncResult asyncResult, Controller controller) +12 
System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +28 
System.Web.Mvc.Async.WrappedAsyncResultBase`1.End() +54 
System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) +31 
System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.EndExecute(IAsyncResult asyncResult) +10 
System.Web.Mvc.MvcHandler.<BeginProcessRequest>b__4(IAsyncResult asyncResult, ProcessRequestState innerState) +21 
System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +36 
System.Web.Mvc.Async.WrappedAsyncResultBase`1.End() +54 
System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +31 
System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result) +9 
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +9514928 
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155 

:

아래는 전체 스택 추적입니다.

+0

표시 하시겠습니까? –

+0

@ShujaatSiddiqui, 감사합니다. 도움이된다면 전체 스택 추적을 추가했습니다. – Simua

답변

1

중간 신뢰 지원이 MVC, WebAPI, SignalR 등에서 제거되었으며 완전 신뢰가 필요합니다.

Microsoft는 중간 트러스트에서 마이 그 레이션해야하며 중간 트러스트가 현재 사용되지 않는 것으로 간주되므로 적절한 OS 수준 격리를 사용해야한다고 안내했습니다. http://support.microsoft.com/kb/2698981