文档章节

微信开发(一) asp.net接入

l
 lvzhongjian
发布于 2016/04/06 10:54
字数 379
阅读 67
收藏 0

        关于微信各个号之间的区别就不在说了,直接直奔主题。

        想要微信开发,首先要有个服务器,但是自己没有。这时候可以用花生壳,将内网映射到公网上,这样就可以在公网访问自己的网站了。具体见:http://www.cnblogs.com/freeliver54/p/3725599.html

        然后要写一个接入代码,而微信上只有php是示例。这里附上asp.net的示例。

        首先创建一个Default.aspx。在Page_Load里进行检验:(MyLog是日志类,可以忽略)

        MyLog.DebugInfo("request default.aspx");
        String echoStr = Request.QueryString["echostr"];
        MyLog.DebugInfo("echoStr:"+echoStr);
        if (this.checkSignature())
        {
            if(!string.IsNullOrEmpty(echoStr)){
                 MyLog.DebugInfo("echostr:" + echoStr);
                 Response.Write(echoStr);
                 Response.End();
            }
           
        }

        最最主要的是那句Response.End(),不加这一句怎么样都接不进去(希望有大神告知)。

        关于checkSignature()就和所查到的差不多了。这里贴一下

        

 private bool checkSignature()
    {
        
        string signature = Request["signature"];
        string timestamp = Request["timestamp"];
        string nonce = Request["nonce"];
        MyLog.DebugInfo(String.Format("signature:{0},timestamp:{1},nonce:{2}", signature, timestamp, nonce));
        string token = TOKEN;
        string[] tmpArr = new string[] { token, timestamp, nonce };
        Array.Sort(tmpArr);
        string tmpStr = string.Join("", tmpArr);
        //sha1加密
        System.Security.Cryptography.SHA1 sha1 = new System.Security.Cryptography.SHA1CryptoServiceProvider();
        byte[] secArr = sha1.ComputeHash(System.Text.Encoding.Default.GetBytes(tmpStr));
        tmpStr = BitConverter.ToString(secArr).Replace("-", "").ToLower();
        MyLog.DebugInfo(String.Format("after parse:{0}", tmpStr));
        if (tmpStr == signature)
        {
            MyLog.DebugInfo("true");
            return true;
        }
        else
        {
            return false;
        }
    }

        这里主要是因为那个Response.End()的问题,导致我搞了许久,特此记录一下,希望帮助能帮助到的人。

        还有一点可能是因为微信服务器的原因Token验证失败,多点2次即可,别像我这样只点一次啊!!!

© 著作权归作者所有

l
粉丝 1
博文 14
码字总数 9646
作品 0
苏州
私信 提问
开源微商城系统 - OdnShop

OdnShop 项目介绍 基于ASP.NET 4.0开发的开源微商城系统,我们的目标是构建一个核心完善而又轻量级的微商城平台,目前基本的核心功能,包括微信登陆/支付,产品管理,购物车与订单管理等,轻...

keke11
2018/05/31
5.8K
0
将博统计支付平台 - JumbotPay

将博统一支付平台,支持主流的支付系统:支付宝、微信、百度钱包;支持多商户,非常适合大集团多站点对接,只需要简单的10来行代码,就能让你的应用接入支付模块;不限语言,aspasp.netphpjsp...

将博NET
01/11
1K
0
网页直播、微信直播技术解决方案:EasyNVR与EasyDSS流媒体服务器组合之区分不同场景下的easynvr

近期遇到好多客户咨询关于实现微信直播、或者是将直播页面集成进入自己项目中。 该方案的主要目的:完成在公网一直进行内网摄像头的RTMP/HLS直播! 实现方案的具体实现: EasyNVR+EasyDSS实现...

xiejiashu
2017/11/28
0
0
Web API应用架构设计分析(1)

Web API 是一种应用接口框架,它能够构建HTTP服务以支撑更广泛的客户端(包括浏览器,手机和平板电脑等移动设备)的框架, ASP.NET Web API 是一种用于在 .NET Framework 上构建 RESTful 应用...

walb呀
2017/12/04
0
0
运维管理后台开发

【业务需求】 一、功能需求 将html页面转换成asp.net 页面,使用sqlhelper实现基础的菜单显示、登录及链接,使整个后台,可以在vs2010环境运行起来,方便后续的的开发人员,进行相关的功能开...

gysoft
2017/02/19
29
0

没有更多内容

加载失败,请刷新页面

加载更多

移动开发中的 Web:WebView、WebKit、JSCore、Web 优化、热修复、跨平台、Native、Hybrid……

移动开发领域近年来已经逐渐告别了野蛮生长的时期,进入了相对成熟的时代。而一直以来 Native 和 Web 的争论从未停止,通过开发者孜孜不倦的努力,Web 的效率和 Native 的体验也一直在寻求着...

编辑部的故事
13分钟前
8
0
MySQL8.0.17 - Multi-Valued Indexes 简述

本文主要简单介绍下8.0.17新引入的功能multi-valued index, 顾名思义,索引上对于同一个Primary key, 可以建立多个二级索引项,实际上已经对array类型的基础功能做了支持 (感觉官方未来一定...

阿里云官方博客
59分钟前
9
0
make4.1降级 make-3.81、2错误

在编译 make-3.82 的时候出现如下错误提示 glob/glob.c:xxx: undefined reference to `__alloca'` 修改 /glob/glob.c // #if !defined __alloca && !defined __GNU_LIBRARY__ # ifdef __GNUC......

Domineering
今天
13
0
Rainbond集群的安装和运维的原理

本文将解读Rainbond集群的安装和运维的原理,使用户基本了解Rainbond的安装机制和运维重点,便于用户搭建大型Rainbond集群。 1.Rainbond集群节点概述 1.1 节点分类 属性 类型 说明 manage 管...

好雨云帮
今天
10
0
好程序员大数据学习路线分享UDF函数

1.为什么需要UDF? 1)、因为内部函数没法满足需求。 2)、hive它本身就是一个灵活框架,允许用自定义模块功能,如可以自定义UDF、serde、输入输出等。 2.UDF是什么? UDF:user difine fun...

好程序员官方
今天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部