2013-03-01 51 views
0

我不知道是否有人可以解释此代码段的一行中的语法: 下面doBgProcess函数,当我从控制器类调用它的工作正常,但是当我我试图所以它投掷例外“对象引用不设置到对象的实例”MVC依赖注入对象引用未设置为对象的实例

[Dependency] 
    public IMembershipService IMemberhipSvcInst { get; set; } 

    [Dependency] 
    public IBenchmarkService IBenchmarkSvcInst { get; set; } 
    #endregion 
    public DashboardProcess() 
    { 
     //Resolving Dependency 
     IMemberhipSvcInst = DependencyResolver.Current.GetService<IMembershipService>(); 

    } 

public bool doBgProcess(Guid userProfileId) 
    { 

      if (userProfileId != null && userProfileId != Guid.Empty) 
      { 
       IMemberhipSvcInst.GetAllUserEmails(); 
      } 
      return true; 
    } 

回答

0

你的Web角色(包含控制器),并在不同的Worker角色运行,从辅助角色调用它里面的OnStart()函数机器。因此,为了使DependencyResolver正常工作,您可能需要在Global.asax的中进行所需的初始化。

现在,如果你想在你的WorkerRole.cs(这是一个不同的机器)或你的WebRole.cs(这是一个不同的进程)中使用相同的DependencyResolver,你还需要初始化你的IoC容器/ Web/WorkerRole.cs的OnStart中的DependencyResolver

相关问题