我想尽快向我的网络服务发送请求。 如何在C#中使用自己的代码来做到这一点? 当我这样做时,服务器在1秒钟左右响应1个请求。 我不需要等待响应就只想发送数据。 当我几次启动此代码(应用程序启动4-5)时,它会彼此1对1发送。仅使用1个应用程序或5个应用程序就需要花费相同的时间。我应该如何在每个运行的应用程序上发送它?也许它打开1端口TCP并需要打开几个端口?但是不知道怎么做,就像Jmeter send一样。但是要通过自己的代码来完成。 有什么想法我该如何编辑我的代码以尽快发送?当我启动该程序视图时,它会在每个gui上一一发送。并非同一时间都存在。
代码如下:
public static HttpWebRequest CreateWebRequest()
{
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(@"http://ws/statusService");
webRequest.Headers.Add(@"SOAP:Action");
webRequest.ContentType = "text/xml;charset=\"utf-8\"";
webRequest.Accept = "text/xml";
webRequest.Method = "POST";
return webRequest;
}
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
StreamReader SR = new StreamReader(@"List_of_uid.txt");
// string[] names = System.IO.File.ReadAllLines(@"List_of_uid.txt");
int ilosc_zamowien = names.Count();
ilosc_zamowien = ilosc_zamowien - 1;
SR.Close();
int ilosc_label = ilosc_zamowien + 1;
string zmienna;
for (int i = 0; i <= ilosc_zamowien; i++)
{
Console.WriteLine(names[i]);
// Execute();
HttpWebRequest request = CreateWebRequest();
XmlDocument soapEnvelopeXml = new XmlDocument();
string xml = @"<?xml version=""1.0"" encoding=""utf-8""?>
<soapenv:Envelope xmlns:soapenv=""http://schemas.xmlsoap.org/soap/envelope/"" xmlns:ws=""http://ws.om.wyrocznia.cyfrowypolsat.pl/"">
<soapenv:Header/>
<soapenv:Body>
<ws:processTask>
<executorName>createAgreementEOExecutor</executorName>
<productOrderNumber>{0}</productOrderNumber>
<executorParams>
<parameters>
<entry>
<key>waitForNotification</key>
<value>true</value>
</entry>
</parameters>
</executorParams>
<useOldCallbackUid>true</useOldCallbackUid>
</ws:processTask>
</soapenv:Body>
</soapenv:Envelope>";
var NewXML = String.Format(xml, names[i]);
soapEnvelopeXml.LoadXml(NewXML);
using (Stream stream = request.GetRequestStream())
{
soapEnvelopeXml.Save(stream);
}
using (WebResponse response = request.GetResponse())
{
using (StreamReader rd = new StreamReader(response.GetResponseStream()))
{
string soapResult = rd.ReadToEnd();
Console.WriteLine(soapResult);
}
}
}
}