2011-05-26 75 views
1

我在一個組織內託管了一個WCF服務,並且我希望能夠將一個客戶端構建成一個程序集DLL,並將其打包並提供給任何想要使用該服務的人。將WCF客戶端打包成一個用戶程序集

我可以創建一個類庫,並簡單地添加一個服務引用,構建並分發它。任何關於另一種方法的建議?

回答

0

服務主機將會是什麼?如果它將是一個基於HTTP的應用程序,將其放入ASP.NET應用程序中很有意義。否則,是的,啓動課程庫。基於評論

更新客戶端的包裝真的取決於接收器會用它做。如果您的目標是開發人員或現有的內部應用程序,那麼該圖書館是一個不錯的選擇(儘管我可能會將它包裝在一個.msi文件中以使用戶熟悉這種體驗)。如果需要用戶界面,那麼顯然你會想要考慮一個合適的用戶界面框架(WPF,Silverlight,WinForms等)

+0

對不起,我的問題含糊不清。我實際上想打包客戶端,而不是服務 – TesterTurnedDeveloper 2011-05-26 04:27:29

0

在我之前的工作中,我們一直這樣做。我們會有一個庫項目,只包含SVCUTIL代理生成和配置文件。

這樣我們的其他項目可以利用這個庫,我們只有一代代理。在SOA模型中很棒。

在你的情況下,你可以分發這個組件,如果你想。就我個人而言,我發現您控制的內部案件的收益更大,但是我想如果您真的感到慈善,爲客戶分發.NET版本將是有益的。

1

我在我以前的組織中做過類似的事情。我還有額外的要求,即庫應該是COM可見的,以便傳統的C++應用程序可以使用該API。

我竟然沒有要求客戶端提供任何WCF配置,除了通過API(服務URL,超時等...)傳遞一堆參數。 WCF是以編程方式配置的。我處於一個非常嚴格控制的環境中,在那裏我完全瞭解圖書館的客戶並可能影響他們的設計。這種方法對我很有用,但是他們說你的里程可能會有所不同。

+0

我很有興趣知道如何在代碼中設置WCF配置。你能提供關於如何做到這一點的指針嗎? – TesterTurnedDeveloper 2011-05-26 07:07:51

+0

你應該可以谷歌它。嘗試從這裏開始:http://stackoverflow.com/questions/2943148/how-to-programmatically-connect-a-client-to-a-wcf-service – 2011-05-26 07:39:53

0

我只想提供一個包含所有必需合同的庫。就是這樣 - 他們可以編寫自己的客戶端代理。

您的用戶是否知道如何使用WCF?如果沒有,請包含一個代理類來實例化一個頻道並調用該服務。

我真的沒有看到提供一個只包含svcutil生成的代碼的程序集。爲什麼不給用戶一個WSDL,然後他們可以自己生成這些代碼?分發樣板似乎不是一個好主意。