У меня есть служба wcf, которую я настраиваю для работы под IIS 7. У меня есть набор сервисов для потоковой передачи для передачи. Когда я сам размещаю службу в консольном приложении, каждая вещь работает нормально. Но когда клиент подключается к iIS-хостингу, он, похоже, буферизуется, и клиент в конечном итоге отключается. Я использовал скрипача, чтобы определить, что это время ожидания клиента происходит до того, как будет выполнен запрос http.загрузка потоковой передачи в службу WCF IIS 7 не работает
Вот привязки серверов.
var binding = new CustomBinding();
binding.Elements.Add(new TextMessageEncodingBindingElement()
{
MessageVersion = MessageVersion.Soap12WSAddressing10
});
var secBinding = SecurityBindingElement.CreateUserNameOverTransportBindingElement();
secBinding.AllowInsecureTransport = true;
binding.Elements.Add(secBinding);
binding.Elements.Add(new HttpTransportBindingElement()
{
TransferMode = TransferMode.Streamed,
MaxReceivedMessageSize = Int32.MaxValue,
});
И связывание клиент:
var binding = new CustomBinding();
binding.Elements.Add(new TextMessageEncodingBindingElement()
{
MessageVersion = MessageVersion.Soap12WSAddressing10
});
var secBinding = SecurityBindingElement.CreateUserNameOverTransportBindingElement();
secBinding.AllowInsecureTransport = true;
binding.Elements.Add(secBinding);
binding.Elements.Add(new HttpTransportBindingElement()
{
TransferMode = TransferMode.Streamed,
MaxReceivedMessageSize = Int32.MaxValue,
MaxBufferSize = 400
});
Как и в сторону соединение по тайм-ауту, потому что поток является бесконечным и сервер должен прочитать первые несколько байт, а затем закрыть поток.
Там, кажется, нет никакого решения этой проблемы. Смотрите эту тему на форумах MSDN, где кто-то пытается сделать то же самое. http://social.msdn.microsoft.com/Forums/en-US/wcf/thread/cfe625b2-1890-471b-a4bd-94373daedd39 –
@MikeSchenk вы должны поменять свой комментарий на ответ. Этот поток говорит, что это проблема, которая может быть исправлена в .Net 4.5 –