在Unity的MVC应用程序中,我应该使用什么生命周期服务?

时间:2011-12-23 13:08:42

标签: c# asp.net-mvc unity-container

我的MVC应用程序具有与服务器通信的控制器,以及与存储库的对话。我使用Unity注册服务如下:

container.RegisterType<   IService<Account>, AccountService   >();
container.RegisterType<   IService<Product>, ProductService   >();

我的服务有一些本地变量,例如:

   protected IAzureTable<Account> _accountRepository;
   protected IAzureTable<Product> _productRepository;
   protected ServiceException _ex;

    protected void Initialize()
    {
        _ex = new ServiceException();
    }

我应该如何注册服务。我应该使用新的HierarchicalLifetimeManager()。我对此有点不清楚,因为该服务具有_ex ServiceException变量。如果只维护了一个服务实例,那么该变量是否可以被多个冲突的线程写入?

不确定这是否有所不同,但我使用的是Unity.Mvc3 1.1

更新:在以下FYI中添加

public class ServiceException : ApplicationException {

    public Dictionary<string, string> Errors { get; set; }

    public ServiceException(Exception ex) : base("Service Exception", ex) {
      Errors = new Dictionary<string, string>();
    }
    public ServiceException() : this(null) {}

}

0 个答案:

没有答案