zoukankan      html  css  js  c++  java
  • 2014-07-23 .NET实现微信公众号接入

      今天是在吾索实习的第11天。今天我跟我的实习小组的组员们,解决了关于使用ASP.NET进行微信公众号接入的问题。因为我们小组成员也是刚接触微信公众号的二次开发,所以在解决该问题的工程中也走了不少弯路。在此,我将指出几个在微信公众号接入时的关键点:

    1. 对来自微信服务器的字符串进行获取,使用Request["字符串"]。
    2. 向微信服务器返回字符串,使用Response.Write(字符串变量)。
    3. 对获取到的三个参数token、timestamp、nonce,需要把它们放到一个数组里面,然后进行字典排序Array.Sort(数组变量),然后再把其串联成字符串string.Join("",数组变量)。
    4. 对串联而成的字符串进行SHA1加密:FormsAuthentication.HashPasswordForStoringInConfigFile(字符串变量, "SHA1")。
    5. 最容易忽略的一点是,最后要把加密后的字符串换为小写:tmpStr.ToLower()。
    6. 最后把处理后的字符串与signature比较,若相等就原样返回echostr参数内容:Response.Write(echostr)。

      以上就是我对使用.net进行微信接入中代码编程上的一些关键点,希望能给与我们一样的初学者们一些编程“灵感”。

      最后,我们在今天的实习中也遇到不少疑问,希望有经验的各位能帮忙解答一下:

    1. 我们发现在进行接口验证时,若使用VS创建项目的aspx文件,微信官网常常会提示没有正确响应Token验证,但使用创建网站的aspx文件就可以正确响应。所以我们很想知道在VS中创建项目与创建网站有什么的不同之处而导致这样的现象。
    2. 因我们是使用VS2012,所以在我们的配置文件Web.config中多了一句<httpRuntime targetFramework="4.5" />,但只有删去这一句,才能正确响应。这也是一个比较奇怪的问题之一。
    3. 其中一个最无法理解的问题是,没发布网站前能正确响应,当发布网站把CS文件转变成DLL文件后,却不能正确响应。

      希望能帮忙解答以上疑问的大神,分享你们的意见,让我们集思广益,谢谢!

  • 相关阅读:
    js伪数组转数组内部实现
    Vuex核心部分学习参考地址
    vue中让异步代码变成同步的写法
    node.js中文件操作路径和模板标识路径问题
    如果不想安装cnpm又想使用淘宝的服务器来下载,怎么做?
    npm常用命令
    node中模块加载机制
    通过nodejs,简单模拟客户端和服务端进行通信
    vue中非父子组件的传值
    图论1-2
  • 原文地址:https://www.cnblogs.com/IamYoung/p/3864237.html
Copyright © 2011-2022 走看看