为了账号安全,请及时绑定邮箱和手机立即绑定

MVC应用程序登录后重定向到错误页面,我不知道为什么

MVC应用程序登录后重定向到错误页面,我不知道为什么

C#
叮当猫咪 2021-04-26 13:13:37
我有一个MVC应用程序,要求用户使用其Microsoft帐户登录,并且在localhost上进行测试时可以正常工作,但是在将用户登录后重定向到时http://{appname}.azurewebsites.net/home/error,将其发布到Azure时,由于我没有找到404,在我的家庭控制器上未实现错误方法。我的问题是,我不知道是什么导致应用程序重定向到此错误页面。尝试http://{appname}.azurewebsites.net/home在浏览器上手动输入只会再次重定向到错误页面。我尝试在家庭控制器上创建一个错误方法,该方法只是在屏幕上显示一个“ hello”,并且确实发生了一些奇怪的事情,该应用程序一直在错误页面URL和Windows登录页面之间来回重定向,而没有实际打开其中任何一个(我可能会看到这些网址在浏览器上来回切换,但没有一个页面打开过,因为它在完成加载之前已重定向)。然后,我将home控制器上的方法基本保留为空,如下图所示,仅保留了Visual Studio添加的默认内容,但同样的问题一直在发生。[Authorize]public class HomeController : Controller{    public ActionResult Index()    {        return View();    }    public ActionResult About()    {        ViewBag.Message = "Your application description page.";        return View();    }    public ActionResult Contact()    {        ViewBag.Message = "Your contact page.";        return View();    }}在web.config上<customErrors mode="Off"/>,我右键单击错误页面,然后单击show source,在html之后列出了该异常堆栈跟踪:[HttpException]: A public action method &#39;Error&#39; was not found on controller &#39;LogDatabaseApi.Controllers.HomeController&#39;.   at System.Web.Mvc.Controller.HandleUnknownAction(String actionName)   at System.Web.Mvc.Controller.<BeginExecuteCore>b__1d(IAsyncResult asyncResult, ExecuteCoreState innerState)   at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)   at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBase`1.End()   at System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult)   at System.Web.Mvc.Controller.<BeginExecute>b__15(IAsyncResult asyncResult, Controller controller)   at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)   at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBase`1.End()但这似乎只是说未找到home控制器中的错误方法,没有说为什么应用程序首先重定向到错误页面。实际上,我在正常运行的同一Web应用程序中有一个API控制器(不需要授权)。而且home控制器可以在localhost上完美运行,它可以在Azure上完成所有这些奇怪的工作。
查看完整描述

1 回答

?
慕运维8079593

TA贡献1876条经验 获得超5个赞

显然,OWIN无法正确检测启动类,并引发了导致整个问题的异常。<add key="owin:AutomaticAppStartup" value="false" />在web.config文件中添加到appsettings中可以解决此问题


查看完整回答
反对 回复 2021-05-08
  • 1 回答
  • 0 关注
  • 222 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号