Эта статья , кажется, дает довольно хорошее краткое изложение всего процесса. Я рекомендовал бы следовать инструкциям, и затем отправить некоторые более конкретные вопросы о любых проблемах Вы encouter, которые не обращены в статьях I, и другие люди связались с в этих ответах.
По сути, вызов ServiceHost.Close ()
выполнит это - он позволит выполнить все текущие запросы до завершения, но новые запросы будут отклонены, если будет выполнено нормальное завершение работы. в процессе.
В вашей привязке есть параметр «CloseTimeout», который вы настроили для своей службы - который определяет, сколько времени среда выполнения WCF позволит выполнять запросы до тех пор, пока они не завершатся должным образом. Если этот тайм-аут произойдет, все еще выполняющиеся запросы будут уничтожены.
Метод ServiceHost.Abort ()
, с другой стороны, является цифровым эквивалентом кувалды - все выполняющиеся запросы завершаются сразу, и хост выключен.
НА стороне клиента у вас есть те же .Close ()
и . Методы Abort ()
на вашем прокси-сервере клиента, которые ведут себя одинаково.