В конце концов, я добавил отключающий крюк, который удовлетворял мои потребности в этом проекте.
Посмотрите здесь:
Подробно обсуждается манипулирование свойством keep alive во время соединения http.
Мне кажется, вы хотите настроить HTTP-заголовок Keep-Alive
. Вам следует прочитать эту статью о HTTP keep-alive и сначала определить, действительно ли это стоит вашего времени.
Если это так, попробуйте создать Инспектор сообщений . Это должно позволить вам изменять заголовки HTTP для каждого отправляемого сообщения:
public class KeepAliveMessageInspector : IClientMessageInspector
{
// ...
public object BeforeSendRequest(
ref System.ServiceModel.Channels.Message request,
System.ServiceModel.IClientChannel channel)
{
// Add/modify the Keep-Alive header
var httpRequestMessage = new HttpRequestMessageProperty();
httpRequestMessage.Headers.Add("Keep-Alive", "9000");
request.Properties.Add(
HttpRequestMessageProperty.Name, httpRequestMessage);
return null;
}
// ...
}
Как насчет этого? Кажется, это может быть функция вашего сервера IIS и ничего общего со службой WCF? Я знаю, что эта ссылка относится к IIS6, но, может быть, она служит основой для чего-то подобного в IIS7? http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/73566f83-c257-4941-8ed8-7ae45b2e7985.mspx?mfr=true