Network errors on wp7

2019-09-06 06:52发布

I'm trying to build and run old application which worked fine several month ago on wp7, however none of http clients works for me.

First, i'm trying HttpWebRequest

var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);
httpWebRequest.Method = HttpMethod.Get;
httpWebRequest.Accept = "application/json";

var response = (HttpWebResponse)await httpWebRequest.GetResponseAsync();

it throws an exception

The remote server returned an error: NotFound.

Then i tried HttpClient

Uri theUri = new Uri("https://www.google.fi/");

        HttpClient aClient = new HttpClient();
        aClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
        aClient.DefaultRequestHeaders.Host = theUri.Host;

        //Post the data 
        HttpResponseMessage aResponse = await aClient.PostAsync(theUri, new StringContent(postData));

        if (aResponse.IsSuccessStatusCode)
        {
            return aResponse.Content.ToString();
        }
        else
        {
            // show the response status code 
            return "HTTP Status: " + aResponse.StatusCode.ToString() + " - Reason: " + aResponse.ReasonPhrase;
        } 

it returns

System.Net.HttpStatusCode.NotFound

Looking like phone cant reach network at all... Though:

  1. My current approach (via HttpWebRequest) definitely worked before
  2. I definitely have network access, because other network apps works more or less fine.
  3. BONUS: the same app on wp8 works fine. So server is perfectly available and request is valid.

EDIT1: found here a similar issue, added

client.Headers["Content-Type"] = "application/x-www-form-urlencoded";
client.Encoding = Encoding.UTF8;

but still getting same error.

EDIT2: made a fresh wp7 project, added Bcl.Async and HttpClient. Still the same problem.

EDIT3: last night research:

on wp7 device this works ok:

        var client = new RestClient("http://example.com");
        var request = new RestRequest(String.Empty, Method.GET);

        client.GetAsync(request, (_response, _handle) =>
            {
                var resource = _response;
                var content = resource.Content;
            });

But when i'm switching to my server, it throws NotFound exception on wp7 device. On wp8 device it returns correct result.

1条回答
姐就是有狂的资本
2楼-- · 2019-09-06 07:40

Resetting to factory settings helped.

查看更多
登录 后发表回答