며칠 전 C#에서 WinCE 5.0에서 실행되는 바코드 스캐너를 Compact Framework 3.5를 사용하여 코딩하기 시작했습니다. 비동기식 HttpWebRequest를 사용하여 예상 한대로 수행하기가 어려웠습니다. (특히 CF3.5이기 때문에). 이제는 일종의 ... 그러나 요청이 완료 될 때까지 1-3 분이 걸립니다.내 AsyncCallback에 몇 분이 걸리는 이유는 무엇입니까? (WinCE 5.0 바코드 스캐너에서 Compact Framework 3.5를 사용하는 C#)
private void xmlRequestButton_Click(object sender, EventArgs e)
{
System.Uri myUri = new System.Uri("http://www.mydomain.de/someFolder/index.php");
HttpWebRequest myRequest = (HttpWebRequest)HttpWebRequest.Create(myUri);
myRequest.Method = "POST";
myRequest.ContentType = "text/html";
myRequest.SendChunked = true;
myRequest.BeginGetRequestStream(new AsyncCallback(GetRequestStreamCallback), myRequest);
}
private static void GetRequestStreamCallback(IAsyncResult callbackResult)
{
HttpWebRequest myRequest = (HttpWebRequest)callbackResult.AsyncState;
Stream postStream = myRequest.EndGetRequestStream(callbackResult);
string postData = "testparam=testvalue";
byte[] byteArray = Encoding.UTF8.GetBytes(postData);
postStream.Write(byteArray, 0, postData.Length);
postStream.Close();
myRequest.BeginGetResponse(new AsyncCallback(GetResponsetStreamCallback), myRequest);
}
private static void GetResponsetStreamCallback(IAsyncResult callbackResult)
{
HttpWebRequest request = (HttpWebRequest)callbackResult.AsyncState;
HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(callbackResult);
Stream streamResponse = response.GetResponseStream();
StreamReader streamRead = new StreamReader(streamResponse);
string responseString = streamRead.ReadToEnd();
Console.WriteLine(responseString);
streamResponse.Close();
streamRead.Close();
response.Close();
allDone.Set();
}
내 웹 서비스가 액세스 할 때마다 기록합니다. 그것은 단지 "성공"을 울립니다. 처음에는 WebRequest가 전혀 작동하지 않는다고 생각했습니다. 하지만 실수로 디버깅을 멈추지 않고 얼마 동안 작동하지 않을 때 나는 제대로 작동한다는 것을 깨달았지만 오랜 시간이 걸렸습니다. 장치는 심지어 콘솔에 응답 "성공"을 기록했습니다. 그렇게 오래 걸릴 수 있습니까? 내가 놓친 게 있니?
내 목표는 장치가 일부 바코드를 스캔 한 다음 제품 이름 및 기타 정보를 제공하는 웹 서비스에 접속한다는 것입니다.
장치가 인터넷 (WiFi, 셀 데이터 등)에 어떻게 연결되어 있습니까? –
오, 죄송합니다 : Wi-Fi를 통해 신호 강도가 가득 연결되어 있습니다. – alpha20020
웹 서비스가 문제가 아닌지, 예를 들어 SoapUI, 작은 테스트 프로그램 또는 비슷한 것으로 테스트 했습니까? –