<%@ WebHandler Language="C#" Class="Handler" %> using System; using System.Collections.Generic; using System.Web; using System.IO; using System.Text; using System.Web.Security; using System.Xml; public class Handler : IHttpHandler { public void ProcessRequest(HttpContext param_context) { string postString = string.Empty; if (HttpContext.Current.Request.HttpMethod.ToUpper() == "POST") { using (Stream stream = HttpContext.Current.Request.InputStream) { Byte[] postBytes = new Byte[stream.Length]; stream.Read(postBytes, 0, (Int32)stream.Length); postString = Encoding.Default.GetString(postBytes); } if (!string.IsNullOrEmpty(postString)) { Handle(postString); } } else { InterfaceTest(); } } public bool IsReusable { get { return false; } } //写入日志 public void WriteLog(string text) { StreamWriter sw = new StreamWriter(HttpContext.Current.Server.MapPath(".") + "\\log.txt", true); sw.WriteLine(text); sw.Close();//写入 } /// <summary> /// 处理信息并应答 /// </summary> private void Handle(string postStr) { WriteLog(postStr); //记录微信服务器post字串 messageHelper help = new messageHelper(); string responseContent = help.ReturnMessage(postStr); HttpContext.Current.Response.ContentEncoding = Encoding.UTF8; HttpContext.Current.Response.Write(responseContent); WriteLog(responseContent); //记录返回微信服务器字串 } //成为开发者url测试,返回echoStr public void InterfaceTest() { string token = "填写的token"; if (string.IsNullOrEmpty(token)) { return; } string echoString = HttpContext.Current.Request.QueryString["echoStr"]; string signature = HttpContext.Current.Request.QueryString["signature"]; string timestamp = HttpContext.Current.Request.QueryString["timestamp"]; string nonce = HttpContext.Current.Request.QueryString["nonce"]; if (!string.IsNullOrEmpty(echoString)) { HttpContext.Current.Response.Write(echoString); HttpContext.Current.Response.End(); } } }