mayank.bhuvnesh Ответов: 1

stream.length' выдал исключение типа 'system.notsupportedexception'


Привет в приведенном ниже коде я получаю ошибку
"stream.length' threw an exception of type 'system.notsupportedexception'"

Я пробовал использовать MemoryStream, но все равно это то же самое??
Чего мне не хватает????
protected void Button1_Click(object sender, EventArgs e)
{
    string encodedURL = "http://abc.com/psms/servlet/psms.Eservice2";

    HttpWebRequest objRequest = (HttpWebRequest)WebRequest.Create(encodedURL);

    try
    {
        string xmlstr = "data=<!DOCTYPE REQUESTCREDIT SYSTEM \"http://127.0.0.1:80/ps/dtd/request.dtd\"><requestcredit username="\"abc\"" password="\"abc\""></requestcredit>&action=test";

        objRequest.Method = "POST";
        ASCIIEncoding objEncoding = new ASCIIEncoding();
        byte[] objBytes = objEncoding.GetBytes(xmlstr);
        objRequest.Timeout = 6000;
        objRequest.ContentType = "application/x-www-form-urlencoded";
        objRequest.Headers.Add("Accept-Encoding", "gzip, deflate");
        objRequest.ContentLength = objBytes.Length;
        objRequest.KeepAlive = true;

        //objRequest.ServicePoint.ConnectionLimit = GlobalVariable.connectionLimit;
        Stream strm = objRequest.GetRequestStream();
        strm.Write(objBytes, 0, objBytes.Length);
        strm.Flush();
        strm.Close();

        //ServicePointManager.DefaultConnectionLimit = GlobalVariable.connectionLimit;
        using (HttpWebResponse WebResponse = (HttpWebResponse)objRequest.GetResponse())
        {
            Stream responseStream = default(Stream);
            responseStream = WebResponse.GetResponseStream();
            if ((WebResponse.ContentEncoding.ToLower().Contains("gzip")))
            {
                responseStream = new System.IO.Compression.GZipStream(responseStream, System.IO.Compression.CompressionMode.Decompress);
            }
            else if ((WebResponse.ContentEncoding.ToLower().Contains("deflate")))
            {
                responseStream = new System.IO.Compression.DeflateStream(responseStream, System.IO.Compression.CompressionMode.Decompress);
            }

            StreamReader reader = new StreamReader(responseStream, System.Text.Encoding.Default);
            Response.Output.Write(reader.ReadToEnd());
            reader.Close();
            WebResponse.Close();
        }
    }
    catch (Exception ex)
    {
        throw ex;
    }
    finally
    {

    } objRequest.Abort();
}

Sampath Lokuge

Проверьте это : http://stackoverflow.com/questions/10604774/datastream-length-and-position-threw-an-exception-of-type-system-notsupportede

mayank.bhuvnesh

Сампат

Он все еще выдает ту же ошибку.
Я даже пробовал dis на разных машинах, но безуспешно....

chetna2810

Привет,
Я столкнулся с той же ошибкой на своем конце. Пожалуйста, обновите, если у вас есть решение.

1 Ответов

Рейтинг:
0

Snyezana Miletich

У меня была та же проблема.
Я гуглил и связывал многие решения, но ничего не получалось.
В конце концов я просто изменил свои URL-ссылки на "https://" в запросе, и это сработало!