2013-03-01 54 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

相關問題