gpt4 book ai didi

iis-7.5 - 使用虚拟目录/应用程序在 IIS 中托管 ASP.NET 5 WebAPI

转载 作者:行者123 更新时间:2023-12-04 20:36:43 24 4
gpt4 key购买 nike

我正在尝试在 IIS 中托管一个新的 ASP.NET 5 WebAPI 项目,并且我正在使用 ASP.NET 5 RC 1 运行时。我正在使用的项目是新的 ASP.NET 5 WebAPI 项目的标准生成模板。 (没有代码更改。)

我已经使用命令行成功发布了项目,并且可以使用特定端口(例如 localhost:12345)让应用程序在新网站中运行。例如,访问 localhost:12345/api/values 会返回项目模板中的 values.json 数据。

但是,当我尝试为项目使用 IIS 应用程序文件夹时,我收到 404 错误。换句话说, localhost:12345/WebApi1/api/values 返回 404 错误。但是我可以在事件查看器中看到 Kestrel 在随机端口上运行,如果我访问该端口上的数据,我确实会返回 values.json,所以我知道 Kestrel 正在运行。

是否需要做一些特殊的事情才能让 ASP.NET 5 WebAPI 项目在网站下的 IIS 应用程序文件夹中工作?

旁注:如果我使用 --server.urls 为 Kestrel 设置端口,它会在请求的端口和事件查看器中记录的随机端口上运行。 (所以它实际上可以从 Kestrel 的 2 个 URL 获得,而不是由 --server.urls 配置的一个。)

最佳答案

Kiran Challa 上面的链接确实解决了这个问题。把它放在 Startup.cs 的 Configure 方法中

app.Map("/IISApplicationFolderName", (myAppPath) => this.ConfigureApp(myAppPath, env, loggerFactory));

其中 IISApplicationFolderName 是您要在其下托管的 IIS 应用程序文件夹的名称。其余配置代码移至新方法 ConfigureApp,因为您将配置委托(delegate)给该方法。

在 ASP.NET 5 RC2 发布之前,这看起来也是一个临时补丁。

关于iis-7.5 - 使用虚拟目录/应用程序在 IIS 中托管 ASP.NET 5 WebAPI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33904701/

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