Проблема с инъекцией объекта в Spring.Net - PullRequest
2 голосов
/ 17 мая 2010

У меня проблема с моей конфигурацией Spring.Net, в которой не вводится объект. У меня есть CommService, в который вводится объект с именем GeneralEmail. Вот конфигурация:

<!-- GeneralMail Object -->    
<object id="GeneralMailObject" type="CommUtil.Email.GeneralEmail, CommUtil">
    <constructor-arg name="host" value="xxxxx.com"/>
    <constructor-arg name="port" value="25"/>
    <constructor-arg name="user" value="xxxx@xxxxx.com"/>
    <constructor-arg name="password" value="xxxxx"/>
    <constructor-arg name="template" value="xxxxx"/>  
</object>    
<!-- Communication Service -->  
<object id="CommServiceObject" type="TApp.Code.Services.CommService, TApp">
    <property name="emailService" ref="GeneralMailObject" />  
</object>

Объект службы связи снова вводится во многие другие страницы и службы aspx. В одном сценарии мне нужно вызвать сервис связи из статического WebMethod. Я пытаюсь сделать:

CommService cso = new CommService();

Но когда я пытаюсь получить объект emailService, он становится пустым! почему пружина не внедрила объект GeneralMail в мой объект cso? Что я делаю не так и как получить доступ к объекту из пружинного контейнера.

Заранее спасибо за предложения и решения.
Reagrds,
Абдель Олакара

1 Ответ

2 голосов
/ 17 мая 2010
IApplicationContext ctx = ContextRegistry.GetContext();
CommService cso= (CommService)ctx.GetObject("CommServiceObject");
...