webservice가 실행 중이고 해당 메서드 중 하나가 호출 될 때 즉시 반환되지 않습니다. 데이터가있을 때 반환됩니다. 일단 리턴하면 클라이언트는 서비스를 다시 호출하여 서비스에 데이터가있을 때마다 클라이언트에 데이터가 제공됩니다. 이것은 폴링을 피하기위한 것입니다. 하지만 문제는, 에뮬레이터에서 잘 작동하는 반면에 webservie는 반환하지 않지만 클라이언트는 null 예외에서 함수를 얻는 것보다 아래에서 끝납니다.webservice-Async call
이것은 데이터를 가지고있을 때를 반환하는 비동기 함수를 호출하는 방법입니다. 그렇지 않으면 반환되지 않습니다.
client.getstatusCompleted += new EventHandler<getstatusCompletedEventArgs>(updatereceived);
client.getstatusAsync();//this returns only when it has data
특정 시간이 지나면 장치가 열려있는 연결을 종료하고 클라이언트가 Endgetstatus 기능을 강제로 호출합니까? 일분 클라이언트가 웹 서비스는 반환하지 않습니다하지만 인수는 null 예외의 결과로
public string Endgetstatus(System.IAsyncResult result) {
에 종료 후에 나는 23시간
BasicHttpBinding binding= new System.ServiceModel.BasicHttpBinding();
TimeSpan interval = new TimeSpan(23, 14, 18);
binding.ReceiveTimeout = interval;
binding.SendTimeout = interval;
에 시간 제한을 설정했습니다.
누구든지 내가 에뮬레이터에서 제대로 작동하므로 장치에서 작업 할 때 무엇을해야하는지 알려 줄 수 있습니까?
이 윈도우 폰 7과 실버의 C#
에뮬레이터와 장치 사이의 동작에는 차이가 없습니다. 처음에는 푸시 알림을 사용했지만 매우 불안정하고이를 사용하여 내 솔루션이 작동한다는 것을 확인할 수 없었습니다. 그게 내가 클라이언트가 webservice에서 메서드를 호출하고 그것이 데이터가있을 때만 반환이 아키텍처로 옮긴 이유. – user641247
@ user641247 네트워크 추적 또는 유사한 (어쩌면 Fiddler 또는 WireShark)을 실행 해 보았습니까? –