У меня есть один метод обслуживания, который использует HttpWebRequest
для нижеприведенного материала
while (ub < sentCount)
{
ub = step * (1 + (i++));
var k = (ub > sentCount) ? (sentCount) : ub; //to avoid array out of range exception(assign unitll array length if calc exceeds)
for (int j = lb; j < k; j++)
{
pnos = pnos + "," + pnosList[j].Phone;
}
pnos = pnos.Substring(1);
var sbPostData = new StringBuilder();
sbPostData.AppendFormat("authkey={0}", api.AuthenticationKey);
sbPostData.AppendFormat("&mobiles={0}", pnos);
sbPostData.AppendFormat("&message={0}", message);
sbPostData.AppendFormat("&sender={0}", api.SenderId);
sbPostData.AppendFormat("&route={0}", "default");
string sendSMSUri = api.EndPoint;
// Create HTTPWebrequest
var httpWReq = (HttpWebRequest)WebRequest.Create(sendSMSUri);
//Prepare and Add URL Encoded data
var encoding = new UTF8Encoding();
byte[] data = encoding.GetBytes(sbPostData.ToString());
//Specify post method
httpWReq.Method = "POST";
httpWReq.ContentType = "application/x-www-form-urlencoded";
//httpWReq.ContentLength = data.Length;
using (Stream stream = httpWReq.GetRequestStream())
{
stream.Write(data, 0, data.Length);
}
//Get the response
var response = (HttpWebResponse)httpWReq.GetResponse();
var reader = new StreamReader(response.GetResponseStream());
string responseString = reader.ReadToEnd();
//Close the response
reader.Close();
response.Close();
lb = ub;
pnos = string.Empty;
}
Теперь то же самое, что мне нужно сделать в HttpClient
, это возможно сделать.
Проблема, с которой я сталкиваюсь: HttpWebRequest
не поддерживается в PCL (библиотека классов C #). Я хочу перейти над логикой в PCL.