У меня есть служба WCF, которая длится . (Ради этого вопроса я не заинтересован в разрыве вызова службы.)Метод «совместного» завершения службы WCF (базовый HTTP, недвойный)
Однако, когда клиент отключается принудительно, служба WCF будет продолжать работать до завершения - даже если клиент никогда не получит ответ.
Я нашел информацию о надежном обмене сообщениями (который, кажется, не применим здесь), дуплексные каналы/поведение (которые я не хочу реализовать или требую), и понимаю, как можно «разбить» запросы на обслуживание.
Однако, мне было интересно, если там не может быть «простой» способ, как CancellationPending свойство фона рабочего, служба будет выглядеть примерно так:
while (!WCFRequest.CancellationPending && !FinishedWithLongOperation) {
DoOnePartOfTheLongOperation();
}
Если нет, то есть ли способ добавить такой? Или даже пинать поток WCF с суровым исключением (т. Е. TheadInterruptedException)?
Служба сама предназначена для полного ипосташения по завершенной работе и отчетности о таких.
Служба WCF размещена в IIS 7, которая, как я подозреваю, может иметь значение.