我正在尝试为使用net.tcp绑定的WFC服务重写URL(使用IIS)。我有WFC服务,它托管在第一台机器上,一切正常 - 我可以毫无问题地使用它。 现在我有第二个IIS主机,我在其中创建了仅包含web.config的应用程序(它应该将其地址重写为第一台机器的WCF),它看起来像这样:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<directoryBrowse enabled="true" />
<rewrite>
<rules>
<rule name="ReverseProxyInboundRule1" stopProcessing="true">
<match url="service/(.*)" />
<action type="Rewrite" url="net.tcp://192.168.1.60/service/{R:1}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
应该重写的输入网址如下:
的net.tcp //本地主机/服务/ SampleService.svc
当我检查重写日志时,一切看起来都很好但是当我使用此应用程序的地址进行连接时(应该将URL重写为WFC)我只收到没有WCF端点的错误。我尝试了很多URL重写规则的组合,但都是徒劳的。两个ISS应用程序都支持协议:http,net.tcp,net.pipe,ARR也支持代理。
我没有找到关于重定向net.tcp WCF的任何线程但是我从URL Rewriting WCF services得到了一些提示,但它都是关于http绑定的。 我不确定用IIS重写我的服务URL是否可行,所以如果有任何其他方法,我期待任何建议。
答案 0 :(得分:0)
我不认为这是可能的......您必须在同一站点和相同的应用程序池中重写URL。
http://blogs.msdn.com/b/asiatech/archive/2011/08/25/return-404-4-not-found-when-url-rewrite.aspx