我刚刚将webapp部署到两个不同的Azure服务器上。一个用于测试,另一个用于生产。测试服务器工作正常,我加载主索引页面,然后当我导航到详细信息页面时,它没关系。当我尝试生产服务器时,我得到空白页面,在eventLog.xml中,我收到错误,导致我认为这是一个路由问题而没有找到我对该页面的看法:
在System.Web.Mvc.ViewResult.FindView(ControllerContext context)处 System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context) 在 System.Web.Mvc.Async.AsyncControllerActionInvoker<> c__DisplayClass21.b__1e(IAsyncResult的 asyncResult)at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult的 asyncResult)at System.Web.Mvc.Controller.b__1d(IAsyncResult的 asyncResult,ExecuteCoreState innerState)at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid
1.CallEndDelegate(IAsyncResult asyncResult) at System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid
1.CallEndDelegate(IAsyncResult的 System.Web.Mvc.Controller.EndExecute(IAsyncResult)上的asyncResult) asyncResult)at System.Web.Mvc.MvcHandler.b__5(IAsyncResult的 asyncResult,ProcessRequestState innerState)at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult的 asyncResult)at System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) 在 System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() 在System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep步骤)at System.Web.HttpApplication.ExecuteStep(IExecutionStep step,Boolean& completedSynchronously)
然而,正如我所提到的,它适用于测试服务器,也适用于本地调试。
这些webapps指向不同的数据库,但可以使用SSMS访问数据库,似乎没有问题。
任何建议都将不胜感激。这就是为两者设置的路由代码:
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
routes.MapMvcAttributeRoutes();
答案 0 :(得分:0)
与我们的数据库相关的一系列后端问题不是代表开发和测试数据库。这导致webapp的加载部分在后台失败。
视图问题只是引起了我的注意,因为这是数据库不匹配的连锁结果。
答案 1 :(得分:0)