我有以下代码
public class MyService : IMyService
{
private readonoly IUnitOfWork _unitOfWork;
public MyService(IUnitOfWork unitOfWork)
{
_unitOfWork = unitOfWork;
}
}
//This code is used by web client
private static void RegisterServices(IKernel kernel)
{
kernel.Bind<IMyService>().To<MyService>();
kernel.Bind<IUnitOfWork>().To<UnitOfWork>().InRequestScope();
}
我有一个 Web 和 Windows 服务客户端都使用“MyService”类。如果客户端是 Web,我想在 HTTP 请求结束时处理“工作单元”,就好像客户端是 Windows 服务一样,我想在每次数据库调用后处理工作单元。如何做到这一点?我可以在 MyService 构造函数中添加一个额外的标志来标识客户端,但是在将具体类型映射到接口时如何修改上述代码以将硬编码值传递给该参数?