SL4 응용 프로그램에서 사용하고있는 WCF RIA 서비스에 이상한 작은 문제가 있습니다. 다음은 가지고있는 버튼 클릭 핸들러 코드입니다.SL4 WCF RIA 쿼리 문제 : 실제로 완료되기 전에 "완료되었습니다"?
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 - 프로세스가 파이프의 다른 끝에 없음). 이 코드가 "Completed"핸들러에 있다면, 실제로 거기에 도착할 때까지 완료되었다고 생각했습니다. 수면() 없이는 왜 죽을까요? BTW, Sleep()은 프로덕션을위한 옵션이 아니며 단지 문제 해결 도구 일뿐입니다.
BTW, 이것은 EF 모델에서 SQL Server 2008 R2 DB에 대해 작동하는 도메인 서비스입니다.그 중 하나가 중요한 경우. –
유용하다면 SQL Server에서 명명 된 파이프를 사용할 수 있습니다. 다음은 연결 문자열입니다. 데이터 원본 = .; 초기 카탈로그 = TDS, 통합 보안 = True, MultipleActiveResultSets = True –