为什么我的Asynccallback需要几分钟?(C#在WIN CE 5.0条形码扫描仪上使用紧凑型框架3.5)



几天前,我开始使用Compact Framework 3.5在C#中在C#中运行的条形码扫描仪编码。我很难让我的异步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();
}

每次访问我的网站服务日志。它只是回应"成功"。起初,我认为WebRequest根本不起作用。但是,当我不停地停止调试一段时间时,我意识到它有效,但花了很长时间。该设备甚至将答案"成功"记录到控制台。那么怎么可能需要这么长时间呢?我错过了什么吗?

我的目标是该设备扫描一些条形码,然后联系Web服务,该网络服务回馈产品名称和其他信息。

为什么使用此SCU客户端?是否没有在此CE5设备上预安装的合适的一个(哪种型号?)?

您使用的服务器是通过Internet还是Interanet使用的?看起来您有TCP/IP DNS或路由问题。请尝试使用Vxutils(剑桥软件 - 免费一个)ping等来验证连接。

您知道您的PC可能被设备用于Internet连接(ActiveSync/WMDC Passhru)。请尝试TCP/IP(和您的应用程序),而无需Active ActiveSync/WMDC连接。您仍然可以在首次部署/调试会话开始后进行调试,因为VS纪念设备的IP地址并将其用于以下会话,即使设备未连接到USB(WMDC)。另请参阅Visual Studio SmartDevice远程调试。

如果您找不到网络问题,请返回您的详细发现。

相关内容

  • 没有找到相关文章

最新更新