HTTP POST в .NET Micro Framework - исключение для GetRequestStream () - PullRequest
1 голос
/ 26 марта 2012

Я пытаюсь сделать HTTP POST из платы микроконтроллера Fez Panda II, используя .NET Micro Framework (C #), но следующий код выдает исключение, которое вы можете увидеть после фрагмента кода, пока я пытаюсь получить поток запросов , Я не могу найти что-либо об этой конкретной ошибке в Интернете.

    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

В чем может быть проблема? Любая помощь очень ценится. Если потребуется дополнительная информация, я буду рад ее предоставить.

1 Ответ

0 голосов
/ 27 марта 2012

Panda не может определить, где находится www.urlofthewebsite.com. Вероятно, это связано с тем, что вы не настроили DNS-серверы в сетевой конфигурации Panda.

Используйте инструмент MFDeploy (входит в .Net Micro Framework) для настройки сетевых параметров устройства. Запустите инструмент, убедитесь, что он подключен к нужному устройству, используя раскрывающиеся списки в верхней части окна, затем выберите Цель -> Конфигурация -> Сеть, чтобы открыть экран конфигурации сети. Убедитесь, что основной адрес DNS содержит IP-адрес вашего локального DNS-сервера.

См. Эту статью MSDN для получения дополнительной информации об инструменте MFDeploy: http://msdn.microsoft.com/en-us/library/cc544584.aspx

Если ваше устройство настроено на использование DHCP, убедитесь, что оно получает IP-адрес и DNS-сервер, который знает, где находится www.urlofthewebsite.com.

...