2008-10-07 32 views
1

我有一個Web服務正在運行,它使用Spring.NET來實現它的IoCness。其中一個類需要在加載時執行一些操作(我正在使用AfterPropertiesSet),「某些內容」涉及到ContextRegistry.GetContext()的調用。問題是這樣的代碼在ContextRegistry類:如何知道Spring.NET根上下文何時加載?

if (rootContextCurrentlyInCreation) 
{ 
    throw new InvalidOperationException("root context is currently in creation. You must not call ContextRegistry.GetContext() from e.g. constructors of your singleton objects");  
} 

我怎麼能有這個對象註冊自己一旦上下文完全創建通知?

回答

2

如果可能,請將該呼叫移除到ContextRegistry.GetContext()。無論如何,這是一個糟糕的設計標誌,因爲它將您的代碼與容器非常緊密地聯繫在一起 - 我認爲我們都同意不應該如此。

你究竟想要做什麼?

P.S:我還想建議你將Spring for .NET相關問題發佈到我們的community forums--它更有可能在那裏回答你的問題。