2013-06-03 46 views
0

我們正在爲我們的應用服務器使用DotNet Remoting,並且還使用了StructureMap。如何在遠程對象內部設置適當的依賴注入以便我的代碼不再像這樣依賴於查找代碼?使用DotNet Remoting時的依賴注入

PolicyEntity policy = ObjectFactory.GetInstance<IPolicyDataAccessor>().FindByPolicyId (policyId); 

爲了清楚起見,我希望能夠在遠程對象上聲明一個屬性,並將結構映射注入到其中。然後我可以寫。

PolicyEntity policy = PolicyDataAccessor.FindByPolicyId (policyId); 

任何幫助將不勝感激。

+0

在遠程對象的構造函數中調用ObjectFactory.BuildUp(this)是否足以讓它根據策略注入自身? –

+0

這個技巧。請添加爲答案,我會接受它。 –

回答

0

由於從ObjectFactory創建遠程對象並不是很方便,因此最簡單的方法是讓遠程處理服務器像常規那樣構造對象,並在它將調用的對象構造函數內部讓遠程對象注入自身它的依賴使用;

ObjectFactory.BuildUp(this); 

這將注入所有的依賴關係,就好像對象是從的ObjectFactory開始與創建。

2

您不應該注意任何通過電線發送的任何依賴項。您只應通過網絡發送數據包(DTO),並使用服務在本地處理這些消息(通過DI框架解決)。

+0

DI將全部發生在遠程處理對象內部的內部使用中,並且屬性不會被對象的調用者使用。所有的數據傳輸都是通過DTO進行的。遠程處理對象都是爲單個呼叫設置的。 –