首页 > 代码库 > 2014-07-23

2014-07-23

  今天是在吾索实习的第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文件后,却不能正确响应。

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