在我的名为“Ks”的 mvc 项目的 asp 样板中调用 webapi、ioc 将 KsSession 解析为派生类的相关实例,如此处所述但是,当我尝试在没有注入但“全局”的情况下解决名为 MobileUserService 的服务时,问题就开始了,如下所示。从第二次调用 KsSession 不再解决。它发生从构造函数到 NullKsSession 的属性集调用,但没有更多的属性注入。在Global.asax:protected override void Application_BeginRequest(object sender, EventArgs e){ base.Application_BeginRequest(sender, e); var service = Ks.Dependency.IocManager.Instance.Resolve<Service.MobileUser.IMobileUserService>();}我的问题是为什么会发生这种情况,这样使用服务不合适吗?注意我在github 问题中添加了大量细节,但这里是正在发生的事情的简明版本。
1 回答
森林海
TA贡献2011条经验 获得超2个赞
看起来你应用了不好的做法。我会将 IMobileUserServie 注册为单例。并正式解决。无论如何,对于您的问题,请尝试创建一个新范围并在您的自定义范围中解决您的界面。虽然我不推荐这个,你可以使用下面的代码
protected override void Application_BeginRequest(object sender, EventArgs e)
{
base.Application_BeginRequest(sender, e);
var iocResolver = Ks.Dependency.IocManager.Instance.Resolve<IIocResolver>();
var scope = iocResolver.CreateScope();
var service = scope.Resolve<Service.MobileUser.IMobileUserService>();
}
- 1 回答
- 0 关注
- 86 浏览
添加回答
举报
0/150
提交
取消