【问题标题】:HTTP POST in .NET Micro Framework - Exception on GetRequestStream().NET Micro Framework 中的 HTTP POST - GetRequestStream() 上的异常
【发布时间】:2012-04-09 14:54:37
【问题描述】:

我正在尝试使用 .NET Micro Framework (C#) 从 Fez Panda II 微控制器板上进行 HTTP POST,但是当我尝试获取请求流。我似乎在互联网上的任何地方都找不到有关此特定错误的任何信息。

    HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://www.urlofthewebsite.com/Word/");

    string name = "00ABCDEFDEADBEEF";
    string rawData = "2012-02-08\t14:53:08\t755F66";

    try
    {
            string postData = "deviceID=" + name + "&rawData=" + rawData;

            Debug.Print(postData);

            byte[] data = Encoding.UTF8.GetBytes(postData);
            //request.ContentType = "application/x-www-form-urlencoded";
            //request.ContentLength = data.Length;

            //Set parameters of web request for HTTP POST
            request.Method = "POST";
            request.ContentType = "application/x-www-form-urlencoded";
            request.ContentLength = data.Length;
            request.KeepAlive = false;

            //Create a stream to send the post data to
            //ERROR OCCURS HERE
            Stream postDataStream = request.GetRequestStream();

            etc.

调试输出:

    #### Exception System.Exception - 0x00000000 (1) ####
    #### Message: DNS server IP address was not found.
    #### GHIElectronics.NETMF.Net.Dns::GetHostEntry [IP: 0038] ####
    #### GHIElectronics.NETMF.Net.HttpWebRequest::EstablishConnection [IP: 00e1] ####
    #### GHIElectronics.NETMF.Net.HttpWebRequest::SubmitRequest [IP: 0013] ####
    #### GHIElectronics.NETMF.Net.HttpWebRequest::GetRequestStream [IP: 0008] ####
    #### Fresh_Step.Program::httpPostRawData [IP: 0052] ####
    #### Fresh_Step.Program::Main [IP: 0004] ####
A first chance exception of type 'System.Exception' occurred in GHIElectronics.NETMF.W5100.Http.dll

可能是什么问题?很感谢任何形式的帮助。如果需要其他信息,我很乐意提供。

【问题讨论】:

  • 您可以给我们一个指向您要提交的页面的链接吗?

标签: c# .net http post .net-micro-framework


【解决方案1】:

熊猫无法确定 www.urlofthewebsite.com 的位置。这可能是因为您没有在 Panda 的网络配置中配置 DNS 服务器。

使用 MFDeploy 工具(.Net Micro Framework 的一部分)配置设备的网络设置。运行该工具,使用窗口顶部的下拉菜单确保它已连接到正确的设备,然后选择 Target -> Configuration -> Network 打开网络配置屏幕。确保 DNS Primary Address 包含本地 DNS 服务器的 IP 地址。

有关 MFDeploy 工具的更多信息,请参阅此 MSDN 文章:http://msdn.microsoft.com/en-us/library/cc544584.aspx

如果您的设备配置为使用 DHCP,请确保它获取 IP 地址并获取知道 www.urlofthewebsite.com 所在位置的 DNS 服务器。

【讨论】:

  • 通过 MFDeploy 工具,设备 ping 正常,但是当我执行上面列出的步骤时:目标 -> 配置 -> 网络弹出错误窗口,显示消息:'错误:无效配置部门'对此我有什么办法吗?
  • 以前没见过。解决它的最简单方法可能是使用最新固件重新刷新设备。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-16
  • 1970-01-01
  • 2011-05-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多