私は以前に、HTTPリクエストが終了したときにオブジェクトを廃棄しないことについて、hereについて質問しました。私は今、私がより大きな問題を抱えていると思っています。なぜなら、それは、SAMEオブジェクトの要求要求に役立っているという証拠があるからです。再び、私はその指示hereを使用しています。デリゲート構文を使用してオブジェクトを作成しているので、私のテストはもう少し複雑ですが、リクエストライフタイムのためにそのフラグを立てていると思います。 Global.asax.cs:autofac、ASP.NET統合、およびHttpRequestScoped
protected void Application_Start(object sender, EventArgs e)
{
...
var builder = new Autofac.Builder.ContainerBuilder();
builder.Register<IDBConnectionSelector>(
(c) => new CachingDBConnections(ConstructorArgs...))
.HttpRequestScoped();
var container = builder.Build();
_containerProvider = new ContainerProvider(container);
}
public IContainerProvider ContainerProvider
{
get { return _containerProvider; }
}
static IContainerProvider _containerProvider;
ここに私の意図は、カスタムコンストラクタではなくHTTPリクエストスコープで作成されたコンクリート型CachingDBConnectionsを取得するためにIDBConnectionSelectorを登録することです。
CachingDBConnectionsオブジェクトのいくつかのメソッドは、私が最後に取得したものと同じものを取得していると信じさせる方法で後続の要求で失敗しています。
それは意味がありますか?私は間違って何をしていますか?
ない、それは違いますが、私はこのようなあなたのサービスを登録するかどうを確認します。builder.Register( C =>新しいCachingDBConnections(ConstructorArgs ...)) の.as()HttpRequestScoped(); –
その構文ははるかに意味がありますが、結果は同じです。私が推測するより多くの掘り出し物 - 情報ありがとう! – n8wrl