2011-07-11 36 views

回答

2

除非確實需要,否則不需要生成代理。您可以使用ChannelFactory幾乎不費力就可以build a reusable service client。以鏈接中的代碼爲例,您只需添加所需的任何清理/日誌記錄/異常處理代碼,並且您擁有可重用的客戶端,而無需生成代碼。

+0

我想在一個地方創建客戶端,然後將其作爲服務合同傳遞給我的應用程序,我可以這樣做嗎?我必須破解WcfProxyGenerator才能讓我做到這一點。此外,還不清楚Wcf Interceptor究竟做了什麼。 –

+0

攔截器攔截對由代理生成器(Castle)創建的代理對象的調用,使用通道工廠從指定服務創建通道,並調用此通道上的指定操作。 我不認爲在一個地方創建客戶端並傳遞它是一個好主意。更好的方法(如果你想整合這個代理創建)將使用靜態類。 – BrandonZeider

+0

你一直很有幫助。這就是我想從前一個問題開始做的事情(請參閱http://stackoverflow.com/questions/2975242/how-do-i-pass-a-service-to-another-plugin)。爲什麼這是一個壞主意,並且有這樣一個靜態類的例子。 –

相關問題