这些代码也就开始认证的时候用一次,以后就不用了
	    const string Token = "tdyun";//你的token  
	    protected void Page_Load(object sender, EventArgs e)
	    {
	        string postStr = "";
	        if (Request.HttpMethod.ToLower() == "post")
	        {
	            System.IO.Stream s = System.Web.HttpContext.Current.Request.InputStream;
	            byte[] b = new byte[s.Length];
	            s.Read(b, 0, (int)s.Length);
	            postStr = System.Text.Encoding.UTF8.GetString(b);
	            if (!string.IsNullOrEmpty(postStr))
	            {
	                //ResponseMsg(postStr);  
	                Response.Write(postStr);
	                Response.End();
	            }
	            //WriteLog("postStr:" + postStr);  
	        }
	        else
	        {
	            Valid();
	        }
	    }
	 
	    /// <summary>  
	    /// 验证微信签名  
	    /// </summary>  
	    /// * 将token、timestamp、nonce三个参数进行字典序排序  
	    /// * 将三个参数字符串拼接成一个字符串进行sha1加密  
	    /// * 开发者获得加密后的字符串可与signature对比,标识该请求来源于微信。  
	    /// <returns></returns>  
	    private bool CheckSignature()
	    {
	        string signature = Request.QueryString["signature"].ToString();
	        string timestamp = Request.QueryString["timestamp"].ToString();
	        string nonce = Request.QueryString["nonce"].ToString();
	        string[] ArrTmp = { Token, timestamp, nonce };
	        Array.Sort(ArrTmp);     //字典排序  
	        string tmpStr = string.Join("", ArrTmp);
	        tmpStr = FormsAuthentication.HashPasswordForStoringInConfigFile(tmpStr, "SHA1");
	        tmpStr = tmpStr.ToLower();
	        if (tmpStr == signature)
	        {
	            return true;
	        }
	        else
	        {
	            return false;
	        }
	    }
	 
	 
	    private void Valid()
	    {
	        string echoStr = Request.QueryString["echoStr"].ToString();
	        if (CheckSignature())
	        {
	            if (!string.IsNullOrEmpty(echoStr))
	            {
	                Response.Write(echoStr);
	                Response.End();
	            }
	        }
	    }
	 
	 
	    /// <summary>  
	    /// 写日志(用于跟踪)  
	    /// </summary>  
	    private void WriteLog(string strMemo)
	    {
	        string filename = Server.MapPath("/logs/BugLog.txt");
	        if (!Directory.Exists(Server.MapPath("//logs//")))
	            Directory.CreateDirectory("//logs//");
	        StreamWriter sr = null;
	        try
	        {
	            if (!File.Exists(filename))
	            {
	                sr = File.CreateText(filename);
	            }
	            else
	            {
	                sr = File.AppendText(filename);
	            }
	            sr.WriteLine(strMemo);
	        }
	        catch
	        {
	 
	        }
	        finally
	        {
	            if (sr != null)
	                sr.Close();
	        }
	    }