我在 Windows Azure Web 角色中定期运行一个后台线程:
enquiries = new Enquiry();
Thread enqThread = new Thread(enquiries.Start);
enqThread.Start();
Inquiry 使用 Entity Framework 5.0 DbContext 从数据库中提取查询记录。我想使用 Structuremap 在其构造函数中注入 DbContext。我正在这样做,
public class Enquiry {
private readonly IMySiteDb _db;
public Enquiry(IMySiteDb db)
{
_db = db;
}
/*
Then some methods like Init(), Start(), Execute() etc.
*/
}
我安装了 structuremap.mvc 并初始化了 objectfactory 容器:
x.For<IMySiteDb>().HttpContextScoped().Use<MySiteDb>();
但是发起查询 = new Enquiry(); 抛出错误 -查询不包含采用 0 个参数的构造函数。
我对依赖注入很陌生,找不到这种情况下的工作原理。这个 DI 非常适合控制器。知道如何为后台线程完成此操作吗?