2011-12-20 37 views
2

我有一個問題:我如何在客戶端應用程序中使用「foreach」服務的命名空間?來自app.config文件的客戶端應用中的foreach合同

所以,我的服務中有web.config文件。 這裏客戶端部分:

<client> 
     <endpoint address="http://nail:81/raj/Service1.svc" binding="basicHttpBinding" 
     bindingConfiguration="BasicHttpBinding_IService1" contract="ServiceReference1.IService1" 
     name="BasicHttpBinding_IService1" /> 
     <endpoint address="http://www.xxx.ru:81/upd/Service1.svc" 
     binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IService11" 
     contract="ServiceReference2.IService1" name="BasicHttpBinding_IService11" /> 
    </client> 

在我的客戶端應用程序我用這樣的:

updater.ServiceReference1.Service1Client myclient = new updater.ServiceReference1.Service1Client(); 

的問題:在將來,我會在我的服務在web.config中(超過50個引用)。 而我不想寫這樣的50條代碼。

非常感謝!

+0

我不明白哪個是迭代服務客戶端的命名空間,以避免實例化它們50次。 即使你迭代這些命名空間,你會得到什麼好處呢?你打算在一個點上調用所有服務的操作嗎? 糾正我,如果我錯了,但你不需要這個。 無論您何時需要調用服務操作,都可能需要創建某個服務客戶端的特定實例。 – 2011-12-20 10:33:21

+0

我有一個客戶端應用程序和50臺有50個服務的計算機。所有這些服務都連接到我的電腦。如果我想使用它們,我必須創建50個客戶端對象。但我想用'foreach'來創建客戶端對象並使用它們。也許還有其他方法? – Oleg 2011-12-20 10:43:35

回答

1

真的,我不需要50個對象中的50個服務引用。在App.config中,在客戶端節我可以這樣寫:

endpoint address="" 

而且從我的客戶端代碼,在圈子,我寫:

EndpointAddress endp = new EndpointAddress("some_ip_adress"); 
          myclient.Endpoint.Address = endp; 

這就是全部。

謝謝馬蒂亞斯Fidemraizer諮詢意見!

+0

沒問題,祝你好運:) – 2011-12-22 14:21:10

0

你在配置中有什麼是服務和端點的配置,這不是你正在實例化的。

您實例化updater.ServiceReference1.Service1Client,它是由WSDL工具生成的代理類。實現這種動態的唯一方法是使用Reflection來加載該名稱空間中的類型。

2

回答到您的意見一個(和你的問題,當然):

我有一個客戶端應用程序,並與50個服務50臺電腦。所有這些服務的 都連接到我的電腦。如果我想使用它們的所有 ,我必須創建50個客戶端對象。但我想用'foreach'這樣的東西來創建客戶端的對象並使用它們。也許有 是另一種方式?

老實說,我不覺得在實例50次爲您服務的客戶任何好處,而且有這些對象爲使用它們相比,「創建變量的地方,你要調用一個服務操作,創建的實例一些服務客戶端「。

真的,你會在內存中有50個對象,爲什麼?這是對內存的浪費,畢竟你的目標是無用的。

這就像是說,我在業務層有50個業務經理,我想預先加載他們......但是等等,爲什麼我不需要在代碼需要時分別實例化每個人?

也許我完全誤解了你的目標,但是你似乎想要將你的場景過分複雜化以達到同樣的觀點。

+0

app.config(客戶端部分)中的端點名稱必須不同,因此我具有不同名稱的對象。如果我需要使用所有這些端點,我必須創建相應的對象。或者我寫50個代碼行,或者我(任何方式)創建'foreach'並使用我的圈子。那可能嗎? – Oleg 2011-12-20 12:11:18

+0

在回答您的問題之前,請回答另一個問題:您是否需要在一個點上創建這50個對象的實例?我的意思是,你有什麼方法必須讓他們在那裏? – 2011-12-20 13:13:31

+0

不,我不需要!感謝您的正確理念! – Oleg 2011-12-21 10:48:35