2012-06-27 3 views
0

У меня есть метод для прокси-сервера 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, будет ли прокси держать на что-то или в конечном итоге в странное состояние в конце концов?

ответ

0

Обычно ваш асинхронный запрос должен отсутствовать. Значение по умолчанию - 10 минут. Если вы хотите уменьшить это, измените конфигурацию привязки для него до более низкого значения.

+0

Да, но не вызывает метод End, имеет какое-либо негативное воздействие? – Echilon

+0

Нет, это не так, поскольку ваша операция выполняется в отдельном потоке. Единственная проблема, с которой вы можете столкнуться, - это если у вас большое количество входящих запросов, тогда количество потоков будет действительно процветать. Чтобы противостоять этому эффекту, измените время ожидания на меньшее значение (если ваша операция не выполняет действительно долго выполняемые задачи). –

Смежные вопросы