这是我的代码:
public Form1()
{
InitializeComponent();
}
// create new http request
public void createRequest(String url, int idleTime){
webRequest = (HttpWebRequest)WebRequest.Create(url);
webRequest.Method = "POST";
webRequest.KeepAlive = true;
webRequest.UnsafeAuthenticatedConnectionSharing = true;
ServicePointManager.MaxServicePointIdleTime = idleTime;
}
private void Form1_Load(object sender, EventArgs e)
{
createRequest("http://freemusic.somee.com/Service.asmx/add", 100000);
}
private void txtOK_Click(object sender, EventArgs e)
{
if (webRequest == null)
{
sumTxt.Text = "HTTP cannot keep alive!";
createRequest("http://freemusic.somee.com/Service.asmx/add", 100000);
}
// client send a request
webRequest.ContentType = "application/x-www-form-urlencoded";
String strParameter = "a=" + aTxt.Text + "&b=" + bTxt.Text;
byte[] byteArray = Encoding.UTF8.GetBytes(strParameter);
webRequest.ContentLength = byteArray.Length;
Stream dataStreamWriter = webRequest.GetRequestStream();
dataStreamWriter.Write(byteArray, 0, byteArray.Length);
//dataStreamWriter.Close();
// receive response from server
try
{
webResponse = (HttpWebResponse)webRequest.GetResponse();
Stream dataStreamReader = webResponse.GetResponseStream();
StreamReader sr = new StreamReader(dataStreamReader, Encoding.UTF8);
String strResponse = sr.ReadToEnd();
sumTxt.Text = strResponse;
//webResponse.Close();
//dataStreamReader.Close();
//sr.Close();
}
catch (WebException ex)
{
String response = ex.Message;
sumTxt.Text = response;
}
}
我想创建一个http keep-alive连接。 '添加' Web服务中的方法将接收2个输入参数a和&的总和。湾它首先运行正好,但后来程序在行中抛出了InvalidOperationException:webRequest.ContentLength = byteArray.Length; 。在这种情况下我该怎么办?