I took the implementation from an example but still errors, perhaps because the example is not for the UWP help the teapot ... If I remove the request. ContentLength and close the threads. What is going to come to UWP? I just decided that in the UWP all threads stop themselves. 
Here is the code from a slightly different example, but the essence is the same. Studio as at that time swears on .Close () and ContentLength
WebRequest request = WebRequest.Create ("http://www.contoso.com/PostAccepter.aspx "); // Set the Method property of the request to POST. request.Method = "POST"; // Create POST data and convert it to a byte array. string postData = "This is a test that posts this string to a Web server."; byte[] byteArray = Encoding.UTF8.GetBytes (postData); // Set the ContentType property of the WebRequest. request.ContentType = "application/x-www-form-urlencoded"; // Set the ContentLength property of the WebRequest. request.ContentLength = byteArray.Length; // Get the request stream. Stream dataStream = request.GetRequestStream (); // Write the data to the request stream. dataStream.Write (byteArray, 0, byteArray.Length); // Close the Stream object. dataStream.Close (); // Get the response. WebResponse response = request.GetResponse (); // Display the status. Console.WriteLine (((HttpWebResponse)response).StatusDescription); // Get the stream containing content returned by the server. dataStream = response.GetResponseStream (); // Open the stream using a StreamReader for easy access. StreamReader reader = new StreamReader (dataStream); // Read the content. string responseFromServer = reader.ReadToEnd (); // Display the content. Console.WriteLine (responseFromServer); // Clean up the streams. reader.Close (); dataStream.Close (); response.Close (); Then I deleted some and changed a little, there are no errors now and it even works (please check the current code for provilnost)
// Create a request using a URL that can receive a post. WebRequest request = WebRequest.Create("Какой-нибудь мой сервак"); // Set the Method property of the request to POST. request.Method = "POST"; // Create POST data and convert it to a byte array. string postData = "action=101&login=" + Login.Text + "&pass=" + Pass.Text; byte[] byteArray = Encoding.UTF8.GetBytes(postData); // Set the ContentType property of the WebRequest. request.ContentType = "application/x-www-form-urlencoded"; // Set the ContentLength property of the WebRequest. // Get the request stream. Stream dataStream = await request.GetRequestStreamAsync(); // Write the data to the request stream. dataStream.Write(byteArray, 0, byteArray.Length); // Get the response. WebResponse response = await request.GetResponseAsync(); // Display the status. Resp.Text = ((HttpWebResponse)response).StatusDescription; // Get the stream containing content returned by the server. dataStream = response.GetResponseStream(); // Open the stream using a StreamReader for easy access. StreamReader reader = new StreamReader(dataStream); // Read the content. string responseFromServer = reader.ReadToEnd(); // Display the content. JArray jsonArray = JArray.Parse(responseFromServer); JToken jsonArray_Item = jsonArray.First; string Answer = jsonArray_Item.Value<string>("answer"); Resp.Text += Answer; if (Answer == "ok") { Frame.Navigate(typeof(MainPage)); }