У меня есть следующий C # ASP.Net код для обработки IPN PayPal после покупки.Я установил кодировку в настройках PayPal на UTF8.Когда я отправляю запрос обратно в PayPal с кодировкой ASCII (все UTF8 в коде заменены на ASCII), все работает.Когда я отправляю запрос с кодировкой UTF8, я получаю сообщение «Запрос был прерван: запрос был отменен».исключение в streamOut.Close () в последней строке.Я использую Godaddy Shared Hosting с включенными IIS 7 и .Net 2.Есть предложения?
protected void Page_Load(object sender, EventArgs e)
{
string strRequest = string.Empty;
try
{
string strLive = "https://www.paypal.com/cgi-bin/webscr";
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(strLive);
req.KeepAlive = false;
req.ReadWriteTimeout = 600000;
req.Timeout = 600000;
//Set values for the request back
req.Method = "POST";
req.ContentType = "application/x-www-form-urlencoded";
byte[] param = Request.BinaryRead(HttpContext.Current.Request.ContentLength);
strRequest = Encoding.UTF8.GetString(param);
strRequest += "&cmd=_notify-validate";
req.ContentLength = System.Text.Encoding.UTF8.GetByteCount(strRequest);
//Send the request to PayPal and get the response
Stream RequestStream = req.GetRequestStream();
StreamWriter streamOut = new StreamWriter(RequestStream, System.Text.Encoding.UTF8);
RequestStream.ReadTimeout = 600000;
RequestStream.WriteTimeout = 600000;
streamOut.Write(strRequest);
streamOut.Close(); // EXCEPTION: "The request was aborted: The request was canceled."