Td.Weixin.Public/Common/EntrySign.cs
(开头部分) 3KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Linq;
using System.Reflection;
using System.Web;
using System.Web.Configuration;
using System.Configuration;
namespace Td.Weixin.Public.Common
{
/// <summary>
/// 接入验证
/// </summary>
public class EntrySign
{
private static void ParseMetadata(EntrySign es)
{
if (es == null)
return;
var ps = es.GetType().GetProperties();
foreach (var p in ps)
{
var context = HttpContext.Current;
if (context == null)
return;
p.SetValue(es, context.Request[p.Name], null);
}
}
/// <summary>
/// 检查当前请求是否是接入验证请求。
/// 如果正确,请执行(实例).Response()方法。
/// <para>如果为false,则表示已经成功接入,本次请求为消息处理请求。</para>
/// </summary>
/// <returns></returns>
public static bool IsEntryCheck()
{
return "GET".Equals(HttpContext.Current.Request.HttpMethod);
}
/// <summary>
/// 检查当前请求是否带有签名验证,一般情况都为true(表示需要验证。当然如果不考虑安全,也可以不验证)。
/// <para>如果为true,则表示需要验证,此时请执行 EntrySign.ParseFromContext()获取实例然后执行 (实例).Check()方法以检测签名是否正确。
/// </para>
/// </summary>
/// <returns></returns>
public static bool IsSignCheckRequest()
{
return string.IsNullOrEmpty(HttpContext.Current.Request["signature"]);
}
/// <summary>
/// 请上下文获取验证数据。
/// </summary>
/// <returns></returns>
public static EntrySign ParseFromContext()
{
var ret = new EntrySign();
ParseMetadata(ret);
return ret;
后面还有 58 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。