通知
来源:互联网 发布:好吃的大米 知乎 编辑:程序博客网 时间:2024/04/28 19:00
postdata = "service=Order_Ticket&DbName=" + oOrder.Order.B2CSite + "&orderNo=订单好"
url=地址
string B2CNotify = Tools.SendDataByPost(url, postdata);//post发送通知
public static string SendDataByPost(string url, string postdata)
{
return SendDataByPost(url, postdata, System.Text.Encoding.GetEncoding("gb2312"));
}
/// <summary>
/// post方式发送数据
/// </summary>
/// <param name="url">url</param>
/// <param name="postdata">发送的数据</param>
/// <returns>返回的结果</returns>
public static string SendDataByPost(string url, string postdata, Encoding encoder)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = WebRequestMethods.Http.Post;
request.ContentType = "application/x-www-form-urlencoded";
request.Timeout = 1000 * 60 * 5;
request.ReadWriteTimeout = 1000 * 60 * 5;
using (StreamWriter writer = new StreamWriter(request.GetRequestStream(), encoder))
{
writer.Write(postdata);
}
string result = null;
try
{
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
if (response.StatusCode == HttpStatusCode.OK)
using (StreamReader reader = new StreamReader(response.GetResponseStream(), encoder))
{
result = reader.ReadToEnd();
}
}
catch (Exception e)
{
throw new Exception("获取接口数据失败, " + e.ToString());
}
return result;
}
#endregion
接受通知-------------------------------------------
HttpRequest request = context.Request;
byte[] buffer = request.BinaryRead(request.ContentLength);
string data = Encoding.GetEncoding("gb2312").GetString(buffer);
NameValueCollection parameters = HttpUtility.ParseQueryString(data);
if (parameters.Count == 0)
return;
bool isTrue = false;
var sbMsg = new StringBuilder();
switch (parameters["service"])
{}
context.Response.ContentType = "text/plain";
if (isTrue)
{
context.Response.Write("OK");
}
else
{
context.Response.Write("False");
}