非常快速和轻松的Web调用,使用哪种技术:遗留Web服务或HttpWebRequest

时间:2011-02-27 16:58:21

标签: c# wcf web-services

我需要一些不安全,快速,轻便且易于实施的网络方法。像这样:

// Client side
// Parametrize client address which is dynamic and we don't know until run-time
myClient.Address = "http://example.com/method.aspx/?input=" + value;
string result = "";

if (myClient.TryCallWebMethod(out result))
    // Web method succeed. Use returned value.
else
    // Web method failed. No problem, go with plan B.

// Server side
Response.Write("Answer is: " + Request.QueryString[input]);

我知道这正在重建轮子,但我需要的就像上面的代码一样简单。我可以使用HttpWebRequest实现客户端,但是使用遗留Web Service是更好的选择。

我已经尝试了WCF但是有更多选择我不需要会话,安全性等。我还做了一个localhost基准测试,并且WCF在200个并发请求时跪了下来,我需要支持1000多个并发调用,这是aspx页面的正常负载。

这个网络方法将从asp.net页面消费。我从未使用过旧的Web服务,我的方案是否正常,或者WCF它有十几种配置和证书安装......?

2 个答案:

答案 0 :(得分:1)

在完成WebClient提供的操作之后,看起来它只包含HttpWebRequest功能并提供额外的实用程序操作。因此我建议你去HttpWebRequest

同样在服务器端,尝试使用HttpHandler代替aspx页面(处理程序重量轻)

答案 1 :(得分:0)

如果这是标准的ASPX页面,您可以使用WebClient

using (var client = new WebClient())
{
    var url = "http://example.com/method.aspx?input=" + HttpUtility.UrlEncode(value);
    string result = client.DownloadString(url);
}