0

我想知道是否有人可以在这段代码的一行中解释语法:下面的 doBgProcess 函数,当我从控制器类调用它工作正常但是当我试图从 OnStart() 函数中的工作角色调用它时,它会抛出异常“对象引用未设置为对象的实例”

    [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;
    }
4

1 回答 1

0

您的 Web 角色(包含控制器)和 Worker 角色在不同的机器上运行。因此,为了使 DependencyResolver 正常工作,您可能会在Global.asax中进行所需的初始化。

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

于 2013-03-01T06:57:12.647 回答