Katana/IIS 如何处理冲突。 WinService 中的 WebApi 和 IIS 中的网站 - 谁赢了?
How does Katana/IIS handle conflicts. WebApi in WinService and website in IIS - who wins?l
我的 IIS 配置了很多网站。现在我想在 Windows 服务中安装一个由 OWIN/Katana 托管的 WebApi(使用 topshelf)。我的 WebApi 可以使用与 IIS 相同的端口吗?
- http://myserver/webapp1/(这转到 IIS)
- http://myserver/api/method/(这应该转到我的 windows 服务中的 OWIN)
这行得通吗?如果我使用相同的名字怎么办 - 谁赢了?
感谢您的帮助 - 我在这里有点困惑。
拉尔西
理论上可以做到。
Windows 允许为不同的服务保留 URLs,这样他们就可以监听特定的 url。预订完成后,应用程序开始侦听请求,HTTP 服务器 API 将传入请求路由到不同的服务。这是如何发生的解释:
使用 Web API 可以很容易地设置服务以侦听具体 URL,并且不会干扰其他 URL 的路由。
问题出在 IIS 中。 IIS 只允许您在根 URL 上设置站点,而不是在具体的 URL 路径上。没有关于如何完成此保留的具体文档。但是您可以使用 netsh 自己查看它:
- 打开命令提示符并 运行
netsh
- 你会看到
netsh>
提示
- 输入
http
。 prompr 现在应该显示为 netsh http>
- 输入
show urlacl
这将向您显示机器中所有服务的 URL 保留的完整列表。注意,您可以从命令行将输出转储到文件 运行:netsh http show urlacl > c:\users\jotabe\documents\urlacls.txt
使用所有这些信息,您可以设置 IIS 和 Web API 服务,检查它们创建的注册,并根据链接文档上的规则查看您想要执行的操作是否有效.
我的 IIS 配置了很多网站。现在我想在 Windows 服务中安装一个由 OWIN/Katana 托管的 WebApi(使用 topshelf)。我的 WebApi 可以使用与 IIS 相同的端口吗?
- http://myserver/webapp1/(这转到 IIS)
- http://myserver/api/method/(这应该转到我的 windows 服务中的 OWIN)
这行得通吗?如果我使用相同的名字怎么办 - 谁赢了?
感谢您的帮助 - 我在这里有点困惑。
拉尔西
理论上可以做到。
Windows 允许为不同的服务保留 URLs,这样他们就可以监听特定的 url。预订完成后,应用程序开始侦听请求,HTTP 服务器 API 将传入请求路由到不同的服务。这是如何发生的解释:
使用 Web API 可以很容易地设置服务以侦听具体 URL,并且不会干扰其他 URL 的路由。
问题出在 IIS 中。 IIS 只允许您在根 URL 上设置站点,而不是在具体的 URL 路径上。没有关于如何完成此保留的具体文档。但是您可以使用 netsh 自己查看它:
- 打开命令提示符并 运行
netsh
- 你会看到
netsh>
提示 - 输入
http
。 prompr 现在应该显示为netsh http>
- 输入
show urlacl
这将向您显示机器中所有服务的 URL 保留的完整列表。注意,您可以从命令行将输出转储到文件 运行:netsh http show urlacl > c:\users\jotabe\documents\urlacls.txt
使用所有这些信息,您可以设置 IIS 和 Web API 服务,检查它们创建的注册,并根据链接文档上的规则查看您想要执行的操作是否有效.