我需要一些不安全,快速,轻便且易于实施的网络方法。像这样:
// 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
它有十几种配置和证书安装......?
答案 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);
}