string strURL =(Request.IsSecureConnection?「https://website.com/Transaction.asmx」:「http://website.com/wTransaction.asmx」);如何在使用webrequest時保持連接活着?
string strCommand = clsMisc.strGetDataFromPage(this,「c」,「」,PostMethod.BOTH); string strAppCode = clsMisc.strGetDataFromPage(this,「a」,「WEBIN」,PostMethod.BOTH); string strVenueCode = clsMisc.strGetDataFromPage(this,「v」,「」,PostMethod.BOTH); long transcationid = long.Parse(clsMisc.strGetDataFromPage(this,「t」,「0」,PostMethod.BOTH)); string strParam1 = clsMisc.strGetDataFromPage(this,「p1」,「」,PostMethod.BOTH); string strParam2 = clsMisc.strGetDataFromPage(this,「p2」,「」,PostMethod.BOTH); string strParam3 = clsMisc.strGetDataFromPage(this,「p3」,「」,PostMethod.BOTH); string strParam4 = clsMisc.strGetDataFromPage(this,「p4」,「」,PostMethod.BOTH);
StringBuilder sbrPost = new StringBuilder();
string strIPAddress = Request.UserHostAddress.ToString();
if (Request.Headers.ToString().Contains("&X-Forwarded-For="))
{
strIPAddress = Request.Headers["X-Forwarded-For"].ToString();
}
strAppCode = "|APPCODE=" + strAppCode + "|IPADDRESS=" + strIPAddress + "|";
//strAppCode = "|APPCODE=" + strAppCode + "|IPADDRESS=" + Request.UserHostAddress.ToString() + "|";
sbrPost.Append("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
sbrPost.Append("<soap12:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap12=\"http://www.w3.org/2003/05/soap-envelope\"><soap12:Body><objExecute xmlns=\"http://www.website.com/\">");
sbrPost.Append("<strAppCode>" + strAppCode + "</strAppCode>");
sbrPost.Append("<lngTransactionIdentifier>" + lngTransId + "</lngTransactionIdentifier>");
sbrPost.Append("<strCommand>" + strCommand + "</strCommand>");
sbrPost.Append("<strParam1>" + strParam1 + "</strParam1>");
sbrPost.Append("<strParam2>" + strParam2 + "</strParam2>");
sbrPost.Append("<strParam3>" + strParam3 + "</strParam3>");
sbrPost.Append("<strParam4>" + strParam4 + "</strParam4>");
</objExecute></soap12:Body></soap12:Envelope>");
string strPost = sbrPost.ToString();
WebRequest objReq = WebRequest.Create(strURL);
WebResponse objRes;
StreamReader smrRes;
byte[] bytData = Encoding.UTF8.GetBytes(strPost);
objReq.Method = "POST";
objReq.ContentType = "application/soap+xml";
objReq.ContentLength = bytData.Length;
objReq.Timeout = 600000; // 10 minutes
Stream objPost = objReq.GetRequestStream();
objPost.Write(bytData, 0, bytData.Length);
objPost.Close();
objRes = objReq.GetResponse();
smrRes = new StreamReader(objRes.GetResponseStream());
Response.Write(smrRes.ReadToEnd());
Response.ContentType = "text/xml";
smrRes.Close();
Response.End();
}
catch (Exception err)
{
clsLog.blnLogError(strErrorPage,strErrorMethod, "",err.Message);
}
}
我得到大線objPost.Close(錯誤); ......不尋常的錯誤是,當我通過線調試這行代碼在Visual Studio 2010 ...代碼使用緩慢F10 works ..但是當我只是運行程序,甚至快速調試程序...它會在該行拋出一個錯誤..它給出了一個錯誤,預計打開的連接被服務器關閉..
HELLLLPPP !!!
Thread.sleep does not work ... btw ...我檢查了很多次...代碼確實工作,當我一次調試一行...但是當我運行它..它給錯誤... – user550884 2011-03-08 10:53:13