将 WebAPI 部署到外部网站

本文关键字:外部 网站 部署 WebAPI | 更新日期: 2023-09-27 18:30:22

我们有一个已经暴露在外面的公共网站,尽管实际上那里什么都没有。只需默认.htm包含"即将推出"文本的文件。(http://vensuresoftware.com/)

我们还有一个 WebAPI,我们希望将其添加到此网站。 当我在本地发布到我的 IIS6 时,它没有问题。 它可以 http://localhost/HRConnect/api/Claims 访问就好了。 我已经使用PostMan,一个C#客户端和Javascript AJAX来访问它。 我也可以在浏览器中的该 URL 加载它,并获得相应的默认控制器和操作。

但是,我完全无法在网站上完成同样的事情。理想情况下,我想将其作为虚拟目录包含在 http://vensuresoftware.com 并 http://vensuresoftware.com/HRConnect/api/Claims 访问它,但我这样做的运气为零。

我尝试将其添加为虚拟目录以及该特定网站下的应用程序,但是当我访问 URL 时,我得到的只是"您正在寻找的资源已被删除、名称已更改或暂时不可用"。

我已确保应用程序池正确,具有适当的用户,并且通过连接测试成功。但我只是无法访问服务或 URL。

关于我可以尝试什么有什么想法或建议吗?我不确定我还能在这里包括什么。 在IIS中没有什么特别的,在服务中没有什么特别的。 其中只有 3 个动作。 正如我所说,在本地主机下,这一切都在本地运行良好。

将 WebAPI 部署到外部网站

IIS 7 没有对无扩展 URL 的内置支持,这导致很多尝试运行 MVC 和 Web API 应用程序时头疼的问题。我已经使用这两个选项让它工作。选择适用于您的一个。

  1. 安装此 IIS 修补程序,它允许 IIS 7 处理无扩展名 URL。

  2. 如果由于担心破坏服务器上的其他站点而无法选择修补程序,则可以进行此答案中的 Web.config 调整。您必须为服务器上运行的每个 MVC/Web API 应用执行此操作。