所以我有2个HTTP POST请求,消耗网络API如下: -C#消耗与多个HTTP POST网页API请求
using (var client = new HttpClient())
{
client.BaseAddress = new Uri("https://your_url.com:8443/");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
// 1st request //
var datatobeSent = new ApiSendData()
{
UserID = "xxx",
UserPsw = "yyy",
ApiFunc = "zzz",
clearData = "x1y1z1"
};
HttpResponseMessage response = await client.PostAsJsonAsync("WebApi", datatobeSent);
var resultData = await response.Content.ReadAsStringAsync();
#region Extract Secured Data response from WebApi
JObject JsonObject = JObject.Parse(resultData);
datatobeSent.SecureData = (string)JsonObject["SecureResult"];
#endregion
// 2nd request //
var datatobeSent2 = new ApiSendData()
{
UserID = "xxx",
UserPsw = "yyy",
ApiFunc = "zzz",
SecureData = datatobeSent.SecureData
};
HttpResponseMessage response2 = await client.PostAsJsonAsync("WebApi", datatobeSent2);
var resultData2 = await response2.Content.ReadAsStringAsync();
}
所以现在我需要一些澄清...
1)我的http POST请求是否都是通过相同的SSL会话发送的? 2)如果他们不是,那么我怎样才能将这两者结合起来并通过单个连接/会话发送2个请求?
3)如何提高此代码的性能?目前100个请求需要11secs来处理和响应。 (我刚刚使用for循环,计数上述2个样本的100个http post请求)
我相信他们是。据我所知,它们在同一个SSL会话中作为不同的请求发送。你为什么不尝试使用示例服务器? –
你是什么样的服务器? – Philo
托管一个免费托管服务的简单服务器并测试您的代码? –