2014-03-25 56 views
0

我有一個使用舊的WCF服務環境的站點和一個使用較新環境的新站點。有可能有2個網站使用相同的命名WCF服務,但在不同的DLL上?

當我說環境,我的意思是WCF服務的DLL公開相同的合同和方法,但它們以不同的方式實現。

看來我不能使用相同的服務器(IIS)進行這種設置,因爲嘗試使用較新的站點會產生錯誤,我注意到流量正在重定向到舊的WCF環境。 (我檢查了我的網站配置和綁定,它都是100%好)。

我的問題是,是否可以實現使用相同命名聯繫人的2個站點的這種設置? 在我看來,它不會,即使它們通過服務地址加以區分。

服務器(舊):

<service name="Services.API.AnonymousUserService" behaviorConfiguration="ProductionBehavior"> 
    <host> 
     <baseAddresses> 
     <add baseAddress="net.tcp://old.mysite.com:808/AnonymousUserService.svc" /> 
     </baseAddresses> 
    </host> 
    <endpoint name="tcp" 
       address="" 
       binding="netTcpBinding" bindingConfiguration="ProductionBinding" 
       contract="Services.API.IAnonymousUserService" /> 
    <endpoint name="mex" 
       address="mex" 
       binding="mexTcpBinding" 
       contract="IMetadataExchange" /> 

    </service> 

客戶端(舊)

<client> 
    <endpoint name="tcp" 
     address="net.tcp://old.mysite.com/AnonymousUserService.svc" 
     binding="netTcpBinding" bindingConfiguration="ProductionBinding" 
     contract="ServiceAnonymousUser.IAnonymousUserService"> 
     <identity> 
      <servicePrincipalName value="host/production01.local" /> 
     </identity> 
    </endpoint> 
</client> 

服務器(新):

同服務器(舊),只地址是「net.tcp://new.mysite.com:808/AnonymousUserService.svc」

客戶端(新):

同客戶端(舊),只有地址是 「的net.tcp://new.mysite.com/AnonymousUserService.svc」

+0

如果它在同一臺機器上。您必須更改端口號。他們都使用相同的端口。 – Tan

+0

譚,我嘗試了你的建議,但我的新網站仍在使用舊服務,無視端口的差異。我的新服務已關閉(站點和應用程序池),並且我的新站點具有引用新站點的客戶端配置。我對這件事完全無能爲力。 – Droritos

+0

你可以在你使用服務代理的地方提出一些代碼嗎?也許你指的是在建立文件中的舊服務。 – Tan

回答

0

好,管理最終解決它(經過8個小時)。

This男人的問題有答案!

如果鏈接被破壞,那麼問題在於該網站的端口綁定爲net.tcp: 而不是使用「808:*」的網站,使用「808:www.site-a.com」和「808:www.site-b.com」。

相關問題