asp.net mvc 微信开发随笔(1)

2019-03-02 01:08|来源: 网路

这几天一直在看基于微信平台的系统开发,虽然微信并不复杂,但没有搞过,还是有点摸不着北的。

不过还好,经过这三天的调试,基本上搞定了token验证、access_token的获取、发送json自定义菜单、接收手机微信端发来的消息,以及回复消息到手机微信端。以后会详细整理一下,今天只做个简单的记录。

首先说明一下我用的是asp.net mvc 3,其实正式开发是打算用mvc 4的,但因为我对mvc 3 比较熟一些,mvc 4 的书刚买回来,还没来得及细看,所以先用mvc 3 做做实验。

 

第一步  微信接入

这个简单,只要在微信后台提交网站上用于验证的网址,并返回约定的echostr就可以了。在mvc中其实就是在action里接收signature、nonce、timestamp和echostr,接着加密验证一下。

 

第二步 获取access_token

这是为自定义菜单做准备。向微信提交数据后会返回一个json格式的access_token,只有两个小时有效喔~ 提交数据时用到了WebClient,解析json时我用的是JavaScriptSerializer的Deserialize方法,网上也有其它方法,不过太复杂了,我看不懂。Deserialize的官方介绍是这样子的:“JavaScriptSerializer.Deserialize<T> 方法 (String)  将指定的 JSON 字符串转换为 T 类型的对象。”这正是我需要的,一行代码就把获取到的json解析成自定义的类型了。

 

第三步 自定义菜单

首先准备json格式的菜单,这里我用了JavaScriptSerializer的Serialize方法,也简单,一行代码把自定义的菜单对象转成json。然后是WebClient提交吧,记得是utf8编码。

 

第四步 获得用户消息

微信用户提交的消息是xml格式,这个比json要好弄多了,因为有linq to xml。

 

第五步 向用户回复消息

跟第四步差不多。

 

今天就先写到这里,今天是圣诞节,祝各位圣诞快乐!!

分享我的微信截图:

 

 


转自:http://www.cnblogs.com/bihai/p/3491432

相关问答

更多

Asp.Net MVC - 插件目录,社区等?(Asp.Net MVC - Plugins Directory, Community etc?)

我认为ASP.NET MVC中缺乏这种社区功能。 它没有真正的中心资源, Codeplex似乎是主要的,其他一些零星的代码在谷歌代码上弹出。 也就是说,如果你前往ASP.NET / MVC,这是一个开始获取关于它的知识的好地方。 这里有足够的联系来指导你更广泛的社区的大方向。 我经常阅读的其他几个博客是Phil Haack和Scott Guthrie的博客。 菲尔更加规律,但斯科特的尺寸和信息都是圣经的(尽管这也可能是图像的大小:))。 您也可以发现自己正在阅读Scott Hanselman,但A ...

ASP.NET MVC示例MS应用程序?(Sample MS application for ASP.NET MVC?)

NerdDinner是开创性的ASP.NET MVC示例。 一旦你了解了这些,继续阅读Orchard CMS ,了解一个完全松散耦合的,基于IOC的ASP.NET MVC应用程序的一个惊人的例子。 NerdDinner is the seminal ASP.NET MVC example. Once you've grokked that, move on to Orchard CMS for an amazing example of a totally loosely-coupled, IOC ...

在asp.net mvc中的Html模板(Html Templating in asp.net mvc)

如果每个国家/地区的输入字段完全不同,您可以对它们进行部分分类。 您还可以将其他部分中通常重复的输入分组,以便在国家/地区之间更轻松地重复使用。 If the input fields are quite different for each country you could make a partial for them. Also you could group commonly repeated inputs in other partials in order to be reused ...

ASP.NET MVC中的静态文件路由(Static File Routes in ASP.NET MVC)

所以你必须做一些步骤 - 步骤1 -映射xml扩展以由.Net进行路由处理在<system.webServer>下的Web.config中添加以下部分 - <handlers> <add name="HtmlFileHandler" path="*.xml" verb="GET" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" /> </hand ...

ASP.NET MVC 1转发与ASP.NET MVC 2兼容吗?(Is ASP.NET MVC 1 forwards compatible with ASP.NET MVC 2?)

一直在发生突变 。 如果你想要一个1.0项目在2.0上运行,它确实在不同的地方寻找东西; 所以你必须将应用程序迁移到2.0。 。 以下是可能“中断”的变化(当前为预览版2): 预览2中的更改 Helpers现在返回一个MvcHtmlString对象 为了利用ASP.NET 4中新的HTML编码表达式语法,HTML助手的返回类型现在是MvcHtmlString而不是string 。 请注意,如果您将ASP.NET MVC 2和新的助手用于ASP.NET 3.5,那么您将无法利用HTML编码语法; 新 ...

相关文章

更多

最近更新

更多