C# 如何发送消息?

C# 如何发送消息?,c#,api,webmethod,C#,Api,Webmethod,这里的sendasync()函数是如何使用的,我不知道 我使用foreach循环,然后每次都会得到手机号码和信息,但主要问题是sendsync是如何使用我不知道 [WebMethod(true)] public static string SendMessage(List<int> ids, string message) { foreach (var id in ids) { HttpClient client = new HttpClient();

这里的
sendasync()
函数是如何使用的,我不知道

我使用
foreach
循环,然后每次都会得到手机号码和信息,但主要问题是sendsync是如何使用我不知道

[WebMethod(true)]
public static string SendMessage(List<int> ids, string message)
{
    foreach (var id in ids)
    {
        HttpClient client = new HttpClient();
        using (mapsEntityDataContext db = new mapsEntityDataContext())
        {
            tbl_inq edit = db.tbl_inqs.SingleOrDefault(x => x.Inq_Id == id);
            var mobile = edit.Contact;

            client.BaseAddress = new Uri("http://sms.hspsms.com/sendSMS?username=hspdemo&message=" + message + "&sendername=HSPSMS&smstype=TRANS&numbers=" + mobile + "&apikey=66e12418-8b67-4c2a-9a08-4fd459bfa84c");
            client.SendAsync();
        }
        //client.SendAsync();
    }

    return "sucess";
}
[WebMethod(true)]
公共静态字符串SendMessage(列表ID、字符串消息)
{
foreach(id中的变量id)
{
HttpClient=新的HttpClient();
使用(mapsEntityDataContext db=newmapsentitydatacontext())
{
tbl_inq edit=db.tbl_inqs.SingleOrDefault(x=>x.inq_Id==Id);
var mobile=edit.Contact;
client.BaseAddress=新Uri(“http://sms.hspsms.com/sendSMS?username=hspdemo&message=“+message+”&sendername=HSPSMS&smstype=TRANS&numbers=“+mobile+”&apikey=66e12418-8b67-4c2a-9a08-4fd459bfa84c”);
client.SendAsync();
}
//client.SendAsync();
}
返回“成功”;
}

执行GET和POST请求有几种方法:

方法A:
HttpClient

目前,这是首选的方法。异步的。使用.NET4.5的船舶;可通过NuGet为其他平台提供便携式版本

using Flurl.Http;
使用
System.Net.Http
职位

方法B:第三方库

雷斯夏普

用于与REST API交互的经过尝试和测试的库。便携式。可通过NuGet获得

using Flurl.Http;
Flurl.Http

更新的库具有流畅的API和测试助手。HttpClient在引擎盖下。便携式。可通过NuGet获得

using Flurl.Http;
职位

得到

方法C:遗产

using System.Net;
using System.Text;  // for class Encoding
职位

得到

方法D:WebClient(现在也是遗留的)

职位

得到

var responseString = await "http://www.example.com/recepticle.aspx"
    .GetStringAsync();
using System.Net;
using System.Text;  // for class Encoding
var request = (HttpWebRequest)WebRequest.Create("http://www.example.com/recepticle.aspx");

var postData = "thing1=hello";
    postData += "&thing2=world";
var data = Encoding.ASCII.GetBytes(postData);

request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = data.Length;

using (var stream = request.GetRequestStream())
{
    stream.Write(data, 0, data.Length);
}

var response = (HttpWebResponse)request.GetResponse();

var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
var request = (HttpWebRequest)WebRequest.Create("http://www.example.com/recepticle.aspx");

var response = (HttpWebResponse)request.GetResponse();

var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
using System.Net;
using System.Collections.Specialized;
using (var client = new WebClient())
{
    var values = new NameValueCollection();
    values["thing1"] = "hello";
    values["thing2"] = "world";

    var response = client.UploadValues("http://www.example.com/recepticle.aspx", values);

    var responseString = Encoding.Default.GetString(response);
}
using (var client = new WebClient())
{
    var responseString = client.DownloadString("http://www.example.com/recepticle.aspx");
}