私はCastleWindsorでWCFサービスに取り組んでおり、次のようにコンテナーをセットアップした後に登録できます。
IWindsorContainer container = new WindsorContainer();
container.AddFacility<WcfFacility>().Register(
Component.For<IActivityLogsRepository>().ImplementedBy<ActivityLogsRepository>(),
Component.For<IActivityLogsService>().ImplementedBy<ActivityLogsService>()
.Named("Company.ServiceImplementation.ActivityLogsService"),
しかし、私の問題は、ここで説明されているCallbackContractの使用から始まります http://msdn.microsoft.com/en-us/library/ms752254(v=vs.100).aspx
Castleのドキュメントから、この http://docs.castleproject.org/Windsor.WCF-Facility-Lifestyles.ashxを見つけました。
そして私はこのようなことをしました
Component.For<ISampleService>().ImplementedBy<SampleService>()
.LifeStyle.PerWcfSession(),
私のサーバー設定ファイルは
<bindings>
<basicHttpBinding>
<binding name="LargeHttpBinding" closeTimeout="00:10:00" openTimeout="00:10:00"
sendTimeout="00:10:00" maxBufferSize="2147483647" maxBufferPoolSize="2147483647"
maxReceivedMessageSize="2147483647">
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
</binding>
</basicHttpBinding>
<netTcpBinding>
<binding name="LargeNetTcpBinding" maxBufferPoolSize="5242880"
maxBufferSize="5242880" maxReceivedMessageSize="5242880" />
</netTcpBinding>
</bindings>
<services>
<service behaviorConfiguration="LargeBehavior" name="MyCompany.ServiceImplementation.SampleService"><endpoint address="net.tcp://localhost:808/MyCompany.WcfServices/SampleService.svc" binding="netTcpBinding" bindingConfiguration="LargeNetTcpBinding"
name="netTcp" contract="MyCompany.ServiceContract.ISampleService" />
<endpoint address="mex" binding="mexTcpBinding" bindingConfiguration=""
name="Mex" contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="net.tcp://localhost:808/MyCompany.WcfServices/" />
</baseAddresses>
</host>
誰かがコールバックでキャッスルウィンザー施設をセットアップすることが可能であるかどうか、そしてもしそうなら、それをどのように達成することが可能であるかを知っています
ありがとう