У меня странная проблема с сервисом WCF RIA, который я использую в приложении SL4. Вот код для обработчика нажатия кнопки У меня есть:SL4 WCF RIA Query Issue: «Завершено», прежде чем он действительно будет завершен?
private void btnTest_Click(object sender, RoutedEventArgs e)
{
LanguageContext context = new LanguageContext();
LoadOperation<Language> op = context.Load(context.GetLanguagesQuery());
op.Completed += (obj, args) =>
{
if (!op.HasError)
{
System.Threading.Thread.Sleep(500);
MessageBox.Show(context.Languages.FirstOrDefault().DisplayName);
}
};
}
Обратите внимание, что есть сон вызов в обработчике. Без этого вызова сна я получаю исключение (при отправке запроса на сервер произошла ошибка транспортного уровня. (Поставщик: поставщик общей памяти, ошибка: 0 - никакой процесс не находится на другом конце канала.)). Если этот код находится в обработчике «Завершено», я подумал, что на самом деле он был завершен к моменту его поступления. Почему он умирает без сна()? BTW, Sleep() не является вариантом для производства, это был просто инструмент для обработки проблем :)
BTW, это служба домена, действующая на EF-модель для SQL Server 2008 R2 DB ...В случае, если это важно для вас. –
Опять же, если это полезно, Named Pipes включены на моем SQL Server. И вот строка соединения: Источник данных =; Начальный каталог = TDS; Интегрированная безопасность = True; MultipleActiveResultSets = True –