如何在 IIS 中承载由多个项目组成的 ASP.NET Web API?



我是 ASP.NET Web API和RESTful服务的新手。我最近开始使用一个 Web API,该 API 已经由另一位不再在公司工作的开发人员启动,他用于制作此 API 的方法是为 API 公开的每个资源创建一个新项目。我的问题是,在 IIS 中托管此 API 的正确方法是什么?我可以在 IIS 管理器中为每个项目创建一个新网站,但随后我将拥有许多站点。此外,出于测试目的,我尝试在 IIS 中只创建一个网站,然后在网站内为必须部署的每个服务添加一个应用程序,这也有效,问题是为每个项目(资源(创建一个虚拟目录,然后访问资源的路由包括虚拟目录名称,我不想要这个, 因为这样路由将如下所示:

BaseURL/VirtualDirectory/api/resource

我已经在谷歌上搜索了有关如何在 IIS 中托管 ASP.NET Web API 的示例,但我找到的所有帖子都显示了如何托管单个服务项目,而不是由多个项目组成的 API。所以,如果有人能指出我正确的方向,我将不胜感激。提前谢谢。

根据您的描述,我想您希望网址现在应该显示 vitual 目录。

例如:VirtualDirectoryName.yourdomain.com/api/resourcewww.yourdomain.com/VirtualDirectory/api/resource.

如果这是您的要求,我建议您尝试使用 url 重写扩展来实现您的要求。

您可以从以下网址下载它: https://www.iis.net/downloads/microsoft/url-rewrite

然后你可以使用下面的rewrtite规则到web.config中。

<rule name="Test" stopProcessing="true">
<match url="(.*)" ignoreCase="true" />
<conditions>
<add input="{HTTP_HOST}" pattern="(.+).sample1.com" />
</conditions>
<action type="Rewrite" url="http://www.sample1.com/{C:1}" />
</rule>

相关内容

  • 没有找到相关文章

最新更新