2014-06-13 118 views
0

我們使用現有的Web服務代碼開發了wcf服務。現有客戶希望僅使用新的URL來使用該服務。他們不想替換代理類。在任何情況下都有可能。將ASMX Web服務遷移到wcf

客戶可以使用替換代理和配置來消費。但他不想替換代理。請分享您的意見是否可能。

+2

什麼是「網絡服務」,什麼是「wcf服務」?如果你的意思是你用一個WCF服務取代了一個ASMX SOAP 1.1服務,你可以添加一個basicHttpBinding到你的WCF服務,讓它充當一個SOAP 1.1服務,參見[WCF,ASMX Basic HTTP binding和IIS](http:// stackoverflow.com/questions/3058755/wcf-asmx-basic-http-binding-and-iis)。 – CodeCaster

+1

@CodeCaster:在這種情況下basicHttpBinding足夠了嗎?這將是如果他們可以替換代理類,但他們是不是也需要強制使用XML序列化程序? –

+0

@John我不完全確定,我無法使用WCF服務「熱插拔」ASMX服務,而無需重新生成客戶端。 – CodeCaster

回答

1

您可以通過使用basicHttpBinding配置端點來完成此操作。我相信你還需要強制使用XML序列化程序,而我不知道該怎麼做,所以其他人將不得不爲你提供幫助。我擔心使用相同的代理類可能會導致錯誤,但仍可能存在小的差異。另一方面,如果性能不是最重要的考慮因素,則可以使用舊服務的原始類和方法屬性創建ASMX服務。這個ASMX服務然後會調用WCF服務。

順便說一句,ASMX服務可以在快速端點上調用WCF服務。如果他們在同一臺服務器上運行,他們可以使用netNamedPipesBinding,但無論如何可以使用netTcpBinding,它使用TCP/IP上的二進制。這將緩解與額外跳躍之間的性能差異。