У меня есть метод для прокси-сервера WCF, который возвращает void. Если возвращение было непустым, мне нужно было бы вызвать соответствующий метод End ..., чтобы получить результат, но что, если возврат недействителен?Вызов EndSomeMethod на прокси-сервере ASync WCF
Например:
ModuleProxy.Instance.Controller.BeginSaveConfiguration(Module.Name, Proxy_EndSaveConfig, null);
...
}
private void Proxy_EndSaveConfig(IAsyncResult ar) {
ModuleProxy.Instance.Controller.EndSaveConfiguration(ar);
}
Я Я просто передать нулевой обратный вызов, то никогда не называют EndSaveConfiguration
, будет ли прокси держать на что-то или в конечном итоге в странное состояние в конце концов?
Да, но не вызывает метод End, имеет какое-либо негативное воздействие? – Echilon
Нет, это не так, поскольку ваша операция выполняется в отдельном потоке. Единственная проблема, с которой вы можете столкнуться, - это если у вас большое количество входящих запросов, тогда количество потоков будет действительно процветать. Чтобы противостоять этому эффекту, измените время ожидания на меньшее значение (если ваша операция не выполняет действительно долго выполняемые задачи). –