Dla zestawu narzędzi, który korzysta z usługi zdalnego WCF, skonfigurowałem ChannelFactory<IMyService>
w UnityContainer.Konfigurowanie MaxItemsInObjectGraph klienta WCF podczas korzystania z Unity
Teraz chcę skonfigurować zachowanie końcowego tego kanału za pomocą kodu (przy użyciu Jedności), aby zastosować to zachowanie:
<behaviors>
<endpointBehaviors>
<behavior name="BigGraph">
<dataContractSerializer maxItemsInObjectGraph="1000000" />
</behavior>
</endpointBehaviors>
</behaviors>
Znalazłem ten przykład na MSDN (http://msdn.microsoft.com/en-us/library/ms732038.aspx)
ChannelFactory<IDataService> factory = new ChannelFactory<IDataService>(binding, address);
foreach (OperationDescription op in factory.Endpoint.Contract.Operations)
{
vardataContractBehavior = op.Behaviors.Find<DataContractSerializerOperationBehavior>() as DataContractSerializerOperationBehavior;
if (dataContractBehavior != null)
{
dataContractBehavior.MaxItemsInObjectGraph = 100000;
}
}
IDataService client = factory.CreateChannel();
ale teraz utknąłem próbując to zrobić w konfiguracji Unity. Czy powinienem przejrzeć przechwycenie?
Na razie właśnie zbudowałem fabrykę, zastosowałem zachowanie i dodałem jako instancję do kontenera. – veertien