[英]How to create a full screen application in Win CE 6.0 using .NET Compact Framework 3.5?
[英]Why does my AsyncCallback takes minutes? (C# using Compact Framework 3.5 on Win CE 5.0 Barcode Scanner)
幾天前,我開始使用Compact Framework 3.5為在C#上WinCE 5.0上運行的條形碼掃描儀進行編碼。 我很難讓我的異步HttpWebRequest來完成它應該做的事情。 (特別是因為它是CF3.5。)現在,它可以工作了……但是要完成請求需要1-3分鍾。
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();
}
我的Web服務每次訪問時都會記錄日志。 它只是呼應“成功”。 起初,我認為WebRequest根本不起作用。 但是當我無意中停止了一段時間的調試時,我意識到調試是可行的,但是花費了很長時間。 設備甚至將答案“成功”記錄到控制台。 那么怎么可能花那么長時間呢? 我有什么想念的嗎?
我的目標是設備掃描一些條形碼,然后聯系網絡服務,該服務會返回產品名稱和其他信息。
為什么使用此SCU客戶端? 此CE5設備(哪種型號)上沒有預裝合適的設備?
您使用的服務器是否可以通過Internet或Intranet使用? 看起來您有TCP / IP DNS或路由問題。 請嘗試vxUtils(劍橋軟件-免費)ping等來驗證連接。
您已經意識到設備可能會使用PC進行Internet連接(ActiveSync / WMDC passthru)。 請在沒有活動的ActiveSync / WMDC連接的情況下嘗試使用TCP / IP(和您的應用程序)。 您仍然可以在首次部署/調試會話開始后進行調試,因為VS會記住設備的IP地址並將其用於后續會話,即使設備未連接到USB(WMDC)。 另請參閱Visual Studio SmartDevice遠程調試。
如果您找不到網絡問題,請返回您的詳細發現。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.