gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 07:46:42 25 4
gpt4 key购买 nike

我使用 MVC5 和 ASP.NET 4.5 创建了一个简单的 Web 应用程序。使用该 Web 应用程序作为启动项目在本地运行时效果很好。我正在尝试将其转换为 OWIN 自托管应用程序,因此我向该项目添加了一个控制台程序,并将其设置为 Visual Studio 中的启动项目(我正在使用 2013 Community)。

这是我的程序类:

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
}
}

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

最佳答案

您无法将自托管 OWIN 与 MVC 5 一起使用。这是目前 MVC 的限制之一。 MVC 6 完全解决了这个问题。 MVC 5 对 System.Web 和 IIS 管 Prop 有深度依赖性,这使得它不适合运行自托管。您需要等待 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 依赖项,并且可以在自托管 OWIN 上运行。

关于asp.net-mvc - MVC5自托管OWIN返回404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29493478/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com