WCF ServiceHost. Близко () задержка

Я считаю, что было бы лучше реализовать один базовый делегат для всех видов position, который загружает конкретную реализацию в зависимости от position или любых других свойств данных, используя Loader

BaseDelegate {
    property var position

    Loader {
        sourceComponent: {
            switch(position) {
                case "Engineer": return engineerDelegate
            }
        }
    }

    Component {
        id: engineerDelegate
        Rectangle {
             Text {  }
        }
    }
}
6
задан 22 June 2009 в 01:50
поделиться

3 ответа

Может быть. В документах утверждается, что

Метод Close допускает любые незаконченные работа должна быть завершена перед возвращением. Например, завершить отправку любого буферизованные сообщения.

Существует перегрузка Close () , которая принимает TimeSpan выдает , если временной интервал превышен)

Abort ( ) выглядит лучшим способом незамедлительно остановить узел WCF.

10
ответ дан 8 December 2019 в 13:01
поделиться

Если вас устраивает отключение любых незавершенных вызовов службы, тогда вам подойдет Abort (). Close () - это вежливый способ закрыть службу.

1
ответ дан 8 December 2019 в 13:01
поделиться

Я мог видеть преимущество Abort () перед Close () с точки зрения целесообразности, но я мог бы предположить, что может случиться что-то плохое. В моем случае я хочу дождаться Close (), чтобы я мог повторно использовать порт (ы). Этот код будет ждать фактического закрытия служб, прежде чем возобновить работу.

Semaphore cont=new Semaphore(0, 1);
foreach (ServiceHost s in WCFServices) {
    try {
        s.Closed += delegate(Object o, System.EventArgs n) {
            cont.Release();
        };
        s.Close();
        cont.WaitOne();                 
    } catch (Exception) {
    }//try
}//for
0
ответ дан 8 December 2019 в 13:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: