WCF では、プロキシの作成は負荷の高い操作であるため、パフォーマンスの低下が発生している場合は、この領域を確認する必要があります。この問題に対処するために考えられる解決策の 1 つは、シングルトンまたはプールを実装して、アプリケーション スレッド全体でプロキシを再利用することです。
Castle を使用してシングルトンとして WCF プロキシを作成することに関する Java のブログから。誰かが Structuremap を使用して実装を提供できますか?
WCF では、プロキシの作成は負荷の高い操作であるため、パフォーマンスの低下が発生している場合は、この領域を確認する必要があります。この問題に対処するために考えられる解決策の 1 つは、シングルトンまたはプールを実装して、アプリケーション スレッド全体でプロキシを再利用することです。
Castle を使用してシングルトンとして WCF プロキシを作成することに関する Java のブログから。誰かが Structuremap を使用して実装を提供できますか?
これは、StructureMap では非常に単純であり、いくつかのテストを行う必要がありますが、これは機能するはずです。
ObjectFactory.Configure(
x =>
{
x.For<GetFilesService.Service1Client>().HybridHttpOrThreadLocalScoped().Use(ctx =>
{
// Setup logic goes here
return new GetFilesService.Service1Client("NetTcpBinding_IService1", "net.tcp://localhost:8089/test");
});
}
);
ここでの秘訣は、Thread Local スコープを使用することです ( HybridHttpOrThreadLocalScoped
)
次に解決します。
var client = ObjectFactory.GetInstance<GetFilesService.Service1Client>();