我有一个在ASP.NET中完成的网站A,它在default.aspx
中[System.Web.Services.WebMethod]
public string GetCurrentTime(string name)
{
return "Hello " + name + Environment.NewLine + "The Current Time is: "
+ DateTime.Now.ToString();
}
我们可以使用C#从其他网站B以某种方式调用该方法吗?
谢谢!
答案 0 :(得分:2)
我们可以使用C#从其他网站B以某种方式调用该方法吗?
是的,您可以使用C#将REQUESTS
发送到端点。 GET
或POST
简单的GET请求
var endPoint = "http://domain.com/default.aspx";
var webReq = (HttpWebRequest)WebRequest.Create(endPoint);
using (var response = webReq.GetResponse()) {
using (var responseStream = response.GetResponseStream()) {
var reader = new StreamReader(responseStream);
var responseString = reader.ReadToEnd();
//Do whatever with responseString
}
}
简单的POST请求
var endPoint = "http://domain.com/default.aspx"
var data = "param1=hello¶m2=world"
var webReq = (HttpWebRequest)WebRequest.Create(endPoint);
webReq.Method = "POST";
var bytes = Encoding.UTF8.GetBytes(data);
webReq.ContentLength = bytes.Length;
webReq.ContentType = "application/x-www-form-urlencoded";
using (var requestStream = webReq.GetRequestStream()) {
requestStream.Write(bytes, 0, bytes.Length);
}
using (var response = webReq.GetResponse()) {
using (var responseStream = response.GetResponseStream()) {
var reader = new StreamReader(responseStream);
var responseString = reader.ReadToEnd();
//Do whatever with responseString
}
}
这是一种简单的方法。有关详情,请访问MSDN。
另一方面,您可以使用WebClient或HttpClient。您也可以在this post中找到示例。