加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – MVC5自托管OWIN返回404

发布时间:2020-12-16 06:38:59 所属栏目:asp.Net 来源:网络整理
导读:我使用MVC5和ASP.NET 4.5创建了一个简单的Web应用程序.使用该Web应用程序作为启动项目在本地运行时工作正常.我正在尝试将其转换为OWIN自托管应用程序,因此我在项目中添加了一个Console程序,并将其设置为Visual Studio中的启动项目(我正在使用2013社区). 这是
我使用MVC5和ASP.NET 4.5创建了一个简单的Web应用程序.使用该Web应用程序作为启动项目在本地运行时工作正常.我正在尝试将其转换为OWIN自托管应用程序,因此我在项目中添加了一个Console程序,并将其设置为Visual Studio中的启动项目(我正在使用2013社区).

这是我的Program类:

class Program
    {
        static void Main(string[] args)
        {
            using (Microsoft.Owin.Hosting.WebApp.Start<WebApp.Startup>("http://localhost:9000"))
            {
                Console.WriteLine("Press [enter] to quit...");
                Console.ReadLine();
            }
        }
    }

运行正常,不会触发任何错误.但是,当我尝试访问该URL时,我得到的只是一个空白页面,实际上是一个404错误页面(我在页面中没有任何内容,但查看网络跟踪,我看到响应是404) .

这是WebApp的Startup类:

public class Startup
    {
        public void Configuration(IAppBuilder app)
        {
            // For more information on how to configure your application,visit http://go.microsoft.com/fwlink/?LinkID=316888
        }
    }

是的,它是空的,因为我没有太多事情要做(没有要触发的身份验证或数据库架构更新).我确定我错过了一些明显的东西,但我似乎找不到任何文章详细说明了为MVC5项目正确地进行OWIN连接所需的内容.

解决方法

您不能将自托管OWIN与MVC 5一起使用.这是目前MVC的限制之一. MVC 6完全解决了这个问题. MVC 5对System.Web和IIS管道有很深的依赖性,这使得它不适合运行自托管.您需要等待MVC 6,或者在IIS或IIS Express上使用OWIN.

当MVC 6发布时,您将能够执行与此类似的操作:

public class Startup
{
    public void Configure(IApplicationBuilder app)
    {
        app.UseMvc();
    }

    public void ConfigureServices(IServiceCollection services)
    {
        services.AddMvc();
    }
}

其他Web平台,如WebAPI 2和SignalR 2,已经从System.Web Dependency转移,可以在自托管的OWIN上运行.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读