2013-02-19 41 views
0

我有一個通過WCF與webHttpBinding公開的RESTful服務。使用HTTP綁定時訪問TCP標頭

我現在要求得到TCP報頭(特別是數據包的TTL)。困難的方法是切換到net.tcp綁定並自行處理所有的HTTP層。

必須有一個更簡單的方法...請幫助!

回答

0

正如你已經找到了,WCF抽象消息傳輸(TCP,HTTP,...)通過實現結合的概念(NetTcpBinding的,basicHttpBinding的,...)。好處是能夠輕鬆(大部分時間)更改綁定而不影響服務代碼。這種便利的折衷是隱藏服務代碼中的傳輸細節。事實上,在WCF中獲取客戶端IP地址相當困難。

在另一方面,WCF是擴展,因此,你可以在「重器」的WebHttpBinding作爲一個自定義綁定,所以你可以泡了你想要的TCP信息。這個SO question & answer會給你一個自定義綁定的開始,但你可能需要創建一個自定義HTTP傳輸組件來訪問TCP細節。當一個工具讓你努力工作時,你很可能會使用錯誤的工具。只是說'... :)