C# WCF服务的URL重写问题
我是一个重写现有公共端点以托管在IIS中的项目的最后一名。我们当前的实现是在IIS7之前编写的,是一个自行开发的托管应用程序 我还不知道如何让URL重写功能正常工作,以便我们能够无缝地将现有客户转移到新的端点。在运行旧应用程序的同时运行新的端点,我遇到了一些问题 我认为这会很好: 传统URL: 新网址: web.config中的规则:C# WCF服务的URL重写问题,c#,web-services,wcf,iis,rewrite,C#,Web Services,Wcf,Iis,Rewrite,我是一个重写现有公共端点以托管在IIS中的项目的最后一名。我们当前的实现是在IIS7之前编写的,是一个自行开发的托管应用程序 我还不知道如何让URL重写功能正常工作,以便我们能够无缝地将现有客户转移到新的端点。在运行旧应用程序的同时运行新的端点,我遇到了一些问题 我认为这会很好: 传统URL: 新网址: web.config中的规则: <rule name="Test"> <match url="2.0.22/ServiceA" /> <acti
<rule name="Test">
<match url="2.0.22/ServiceA" />
<action type="Rewrite" url="2.1.22/ServiceB.svc" />
</rule>
因此,我关闭了遗留服务,启动了我的客户端,并将其指向遗留服务URL,但我得到一个错误,即没有端点侦听。这对我来说很有意义,因为该URL已由我们的传统应用程序注册,但不可用:
没有端点在侦听
这可以接受这个信息。
这通常是由不正确的地址或SOAP操作引起的。看见
有关详细信息,请参阅InnerException(如果存在)
因此,我认为如果我将IIS中新端点的绑定端口更改为https默认端口,它将起作用-
新网址:
[与旧版相同]/2.1.22/ServiceB.svc
这会提示IIS向我发出警告,说明绑定已被IIS以外的产品使用,我可能会覆盖地址/端口组合的现有证书。因此,我说“好”,并将证书重新绑定到443端口,以便更好地测量,但当我将客户端指向旧URL时,会出现类似的错误,但措辞有点不同:
位于的HTTP服务为
不可用的这可能是因为服务太忙或
未找到在指定地址侦听的终结点。请
请确保地址正确,然后再次尝试访问该服务
稍后
我觉得我已经尝试了所有东西的组合——通配符匹配、路径等等,但我显然遗漏了一些东西。在这个问题上,我将不胜感激
*此外,是否可以在不同的服务器上托管IIS端点并使用URL重写?通过进一步研究,我确定这是不可能的: 您只能在同一站点和同一应用程序中重写URL 游泳池