使用流

时间:2015-07-29 19:09:23

标签: c# stream

我有一个C#windows窗体应用程序,它从共享点读取文本文件,然后进行一些修改然后它应该更新。 听起来很简单,但我对流/凭证的使用感到很失落。 到目前为止,我能够没有任何问题地阅读(因此没有凭据问题)但是在尝试这样做时:

System.IO.StreamWriter file2 = new System.IO.StreamWriter(s);

这就是我遇到的错误:

  
      
  • n {" Stream不可写。"} System.Exception {System.ArgumentException}
  •   

代码:

                        WebRequest request = WebRequest.Create(rutaCoinsDiscount);
                    request.Timeout = 30 * 60 * 1000;
                    request.UseDefaultCredentials = true;
                    request.Proxy.Credentials = request.Credentials;
                    WebResponse response = (WebResponse)request.GetResponse();
                    using (Stream s = response.GetResponseStream())

                        if (s != null)
                        {
                            string linea;
                            System.IO.StreamReader file = new System.IO.StreamReader(s);
                            while ((linea = file.ReadLine()) != null)
                            {
                                coinsLines[contador] = linea;
                                contador++;
                                if (linea != "") {
                                    lastline++;
                                }
                            }

                            file.Close();
                            int index2 = coinsLines[1].IndexOf(":") + 1;
                            string Gcoins = coinsLines[1].Substring(index2);
                            giveBalanceOld = Convert.ToInt32(Gcoins);

                            giveBalanceOld = giveBalanceOld - giveAmount;
                            coinsLines[1] = "GIVE:" + giveBalanceOld.ToString();

                            coinsLines[lastline] = DateTime.Today.ToString("d") + "+GIVE to:+" + destination + "+Coins: " + giveAmount;
                            System.IO.StreamWriter file2 = new System.IO.StreamWriter(s);
                            for (int j = 0; j < lastline; j++)
                            {
                                file2.WriteLine(coinsLines[j]);
                            }
                            file2.Close();

1 个答案:

答案 0 :(得分:2)

无法写入响应流。这不是HTTP协议的工作方式:)

基本上你必须拥有&#34;某些东西&#34; (在你的WWW应用程序中是一个ashx处理程序),你必须创建一个HttpWebRequest,打开一个请求流并将数据POST回服务器。