2016-01-29 5 views
0

Я пытаюсь переписать URL (с IIS) для службы WFC, которая использует привязку net.tcp. У меня есть служба WFC, которая размещается на первой машине, и все работает отлично - я могу использовать ее без каких-либо проблем. Теперь у меня есть второй узел IIS, где я Созданное приложение, которое содержит только web.config (он должен переписать это адрес WCF первой машины), и это выглядит следующим образом:WCF url rewriting для привязки net.tcp

<?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> 

ввода URL, который должен быть переписан в что-то вроде:

net.tcp // LOCALHOST/услуг/SampleService.svc

когда я проверяю журналы переписывания все выглядело нормально, но когда я использую адрес этого приложения для подключения (который должен переписать url в WFC). Я получаю только ошибки, что нет конечной точки WCF. Я пробовал много сочетаний правила перезаписи URL, но все напрасно. Оба приложения ISS включают протоколы: http, net.tcp, net.pipe, ARR также позволяет прокси.

Я не нашел нить о перенаправлении net.tcp WCF, однако я получаю некоторые подсказки от URL Rewriting WCF services, но все дело в http bindings. Я не уверен, что можно переписать мой служебный URL с IIS, поэтому, если есть какой-либо другой подход, я с нетерпением жду любых предложений.

+0

Я не думаю, что это относится к перекрестным связям. у вас может быть еще одна конечная точка с привязкой http ... зачем вы переписываете URL? – Viru

+0

Мне нужно переписать его, чтобы скрыть реальный адрес служб WCF, также я не могу размещать их на втором компьютере, потому что его производительность слишком низкая (я бы использовал http, если эта производительность не была бы важной, но в моем случае эффективность соединения имеет решающее значение) –

ответ

0

Я не думаю, что это возможно ... вам нужно переписать URL-адрес на одном сайте и в том же пуле приложений.

http://blogs.msdn.com/b/asiatech/archive/2011/08/25/return-404-4-not-found-when-url-rewrite.aspx

+0

внизу этого веб-сайта вы можете увидеть решение, поэтому я написал, что ARR позволяет прокси-серверу уже –

+0

Ahh ,, я не видел, что – Viru

+0

вы говорите, что у вас уже установлен ARR? – Viru