我正在尝试在以下场景中使用 autofac:
一个 WCF 服务,在每个方法调用中,它都会接收用于打开数据库连接的连接详细信息。
(即public UserDTO GetUser(string dbUsername, string dbPassword, int userId)
。
由于打开数据库连接对所有方法都是通用的,因此我想使用 anIParameterInspector
来拦截每个方法调用,提取连接详细信息并初始化连接。
我的问题是 -
1. 我不知道是否(以及如何)我可以将必要的工厂注入到我的IParameterInspector
2. 一旦我创建了我的连接,我不确定如何在我的容器中注册它所以它将可供该请求的所有组件使用。
我IParameterInspector
到目前为止:
public object BeforeCall(string operationName, object[] inputs)
{
var userName = inputs[0] as Guid?;
var password = inputs[1] as string;
// How do I inject the ConnectionsFactory?
var connection = ConnectionsFactory.CreateConnection(userName, password);
// How can I register my connection in the container, so that it'll be available to all dependencies created in this call?
return null;
}
谢谢