2009-09-21 157 views
0

我有一個本土的框架,包括使用靜態字典實現了一個簡單的ServiceLocator類。它是爲WinForms環境開發的,並做了我想要的。服務定位器/ IOC在ASP.Net環境

這被證明是在作爲ASP.Net框架使用框架,當災難; Dictionary是一個靜態變量,在首次使用時會立即執行,並且每個ASP.Net應用程序都使用相同的字典。這不是我的設計意圖。

例如,web應用程序試圖註冊一個DB審計處,IAuditService。錯誤!!該服務已由第一位用戶註冊!只是ASP.Net環境中可能出現的靜態變量問題的一部分。

我已經嘗試與Autofac國際奧委會。我可以通過使用Autofac(或其他一些IOC)來避免我的靜態變量問題嗎?

BP ....

回答

0

我一個新的實例類型添加到特定的Web應用程序我的serviceLocation。

0

您可以使用IOC框架,但如果你希望對象留下來,你將不得不自己動手存儲,否則,你只會被要求從每一次一個新的對象國際奧委會容器。

+0

我不希望對象(即服務註冊)停留在比當前請求更長的時間。當前請求請求的註冊需要獨立於可能需要實現特定接口的任何其他請求。 BP .... – theBruce 2009-09-21 18:52:52

+0

那麼你可以使用IOC容器......我用StructureMap,它極大地幫助了我的軟件設計。 – CSharpAtl 2009-09-22 16:31:04

相關問題