欢迎访问小程序员!

缓存技术       该节我们将分成两部分来讲解,第一部分为预计算,第二部分则为缓存。缓存这个技术对应从事开发的人员来说是非常熟悉的,从页面缓存到数据库缓存无处不在,而其最重要的特点就是在第一次查询后将数据缓存,在以后的查询过程中就无需重新计算而直接从内存中将结果返回,大大提高了性能,而我们这里的缓存则集中运用在函数上。   预计算       可能一些人并不能立马理解这个词的含义,所以我们就简单的从生活例子出发介绍一下。很多人在工作中一定会这样做事,比如上级吩咐了你一件事,但是这件事的后半部分要等另一个同 ....

 模拟登陆的原理很简单,就是发送一个Http 请求服务器获得响应,然后客户端获取到cookie即可实现模拟登陆,比如一些抢票软件的原理无非也是这样模拟客户端的cookie 然后发送请求去抢票,然后12306 本文将演示如何用C# 来实现模拟登陆的,推荐一款工具Fiddler,这是一款监听http 请求的利器。废话不多说,我就以博客园为例来实现模拟登陆。首先我登陆博客园 http://passport.cnblogs.com/login.aspx 输入用户名和密码点登陆 就会看到Fiddler 上的相关信息: ....

示例代码: 示例1:   <Grid>         <Menu>              <MenuItem Header="File">                    <MenuItem Header="Open"/>                    <MenuItem Header="Save"/>                    <MenuItem H ....

在上一篇的博文中讲到,微信的消息可以大体分为两种类型,一种是包括:文本,语音,图片等的普通消息,另一种就是本篇要将的事件类型。包括:关注/取消关注事件,扫描带参数二维码事件,上报地理位置事件,自定义菜单相关事件等。本篇一一进行讲解。 上一篇也提到了,微信服务器在5秒内收不到响应会断掉连接,并且重新发起请求,总共重试三次。这样的话,问题就来了。有这样一个场景:当用户关注微信账号时,获取当前用户信息,然后将信息写到数据库中。类似于pc端网站的注册。可能由于这个关注事件中,我们需要处理的业务逻辑比较复杂。如送积分 ....

微信中的消息类型有:文本,图片,语音,视频,地理位置,链接和事件消息。除了事件消息外,其他的统称为普通消息。微信中消息的推送与响应都是以xml数据包传输的。在用户发送消息给公众号时,微信服务器在五秒内收不到响应会断掉连接,并且重新发起请求,总共重试三次。普通消息可以使用msgid排重,以避免重复的消息对业务逻辑的影响。 假如服务器无法保证在五秒内处理并回复,可以直接回复空串,微信服务器不会对此座任何处理,并且不会发起重试。需要注意的是:这里说的回复空串并不是回复空的文本消息,而是直接Response.Wri ....

距离上一篇博文已经半个月了,本来打算每两天更新一次的,但可怜苦逼码农无日无夜的加班。第一篇博文发表后,博文视点的编辑就找到我,问我想不想出版这个系列,我当时瞬间就想到了王大锤的独白,想想真的是有点小激动,后面按照那边的要求,提交了申请书,也提交了目录,可惜文笔不行,再加上最近太忙,样稿一直没有给他,感觉挺愧疚了。真心希望能帮一下迷茫的新手开发者,希望各位在看博文的时候能给小弟一些建议或意见,让这个系列能更完美的面向大家。    前几篇主要是微信开发的准备工作,也没有什么技术含量。在第一篇和第二篇中,我主要讲 ....

这个方法是简单的也是神奇的。 有木有想过,将自己项目中的所有类型,包括自定义类型的命名空间和名称全部获取出来? 有木有想过,有一种简便的方法可以自动化管理项目中的控件和窗体? 有木有想过... 首先,要敢想、要敢尝试。 通过以下方法,进行简单变换,是可以做到本程序控制本项目的窗体和控件。   以下方法简单了,就不一一说明了,如果你觉得有用,全部复制了编译一下,看看就明白是怎么反射了。 当然懂得大大们看到我有不足之处,请不要谩骂了,我脸皮薄,被你们骂骂就泄气了,技术有限,请大大们不吝赐教。   基础方法 通过 ....

刚看了一篇博友写的“以管理员身份运行程序”, 所以我也来写一个简单易懂的,简单两步搞定,不用写任何代码:   第一步: 右键选择项目 > 添加 > 新建项 ; 找到 应用程序清单文件,后缀名为manifest(app.manifest); 确定添加。   第二步: 找到app.manifest文件打开,修改asInvoker为requireAdministrator即可。 上面说不用写任何代码,你认为我写了吗? 没有,我只是将上面的requireAdministrator复制下来了,O(∩_∩) ....

鉴于之前写的一篇博文没使用XML序列化来操作菜单,而且发现那还有一个问题,就是在XML菜单的某个菜单节点前加上一些注释代码的就不能读取,现在使用XML序列化后可以很方便的读取,故在此写一写。 XML菜单的节点代码如下: 1 <?xml version="1.0" encoding="utf-8"?> 2 <ZCSoft.Net xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance ....

背景介绍:            在做程序的过程中,我们很可能遇到这样的情况:当我们执行一个比较耗时的操作,即界面加载数据量略大的时,在该操作未完成之前再去操作界面,就会出现停止响应的情况,这称为界面假死状态,那一个小圆圈转呀转的,想必大家看着就头疼。当然这是一个非常影响用户体验度的地方。        怎么做出一个能够及时响应的用户界面呢?多线程操作。        引入BackgroundWorker组件:        BackgroundWorker是·net里用来执行多线程任务的控件,它允许编程者 ....

        用线程写一个简单的DEMO:在一个WinForm中放一个命名为lblNumber的Label控件,每隔一秒刷新一下Label的Text,让它显示当前的秒数,从0显示到99。        如果用Timer那么拖来两个控件,敲几行代码,2分钟搞定。这里主要是做Demo说明匿名方法的用法,因此稍微麻烦一些: private void MainForm_Load(object sender, EventArgs e) { Thread t = new ....

using System.IO; using System.Linq; namespace FileFolderDeleter { static class Program { static void Main(string[] args) { if (args.Count() == 1) { DeleteFilesAndFolders(args[0]); ....

本文只针对C#中,多线程同步所用到的锁(lock)作为研究对象。由于想更直观的显示结果,所以,在做demo的时候,就把多线程通过事件操作UI的代码也写了出来,留作备忘和分享吧。   其实多线程的同步,使用同步锁的方法用了好多次,今天无意中看到MSDN中,建议用: 1 private static readonly object locker1 = new object(); 2 private readonly object locker2 = new object(); 备注:原文并没有加reado ....

一、什么是access_token?     access_token是公众号的全局唯一票据,公众号调用各接口时都需使用access_token。正常情况下access_token有效期为7200秒,重复获取将导致上次获取的access_token失效。由于获取access_token的api调用次数非常有限,建议开发者全局存储与更新access_token,频繁刷新access_token会导致api调用受限,影响自身业务。 二、要解决的问题 1、如何获取access_token。 2、由于access_ ....

此系列前面已经更新了两篇博文了,都是微信开发的前期准备工作,现在切入正题,本篇讲解新手接入的步骤与方法,大神可直接跳过,也欢迎大神吐槽。 微信公众平台消息接口的工作原理大概可以这样理解:从用户端到公众号端一个流程是这样的,用户发送消息到微信服务器,微信服务器将接收到的消息post到用户接入时填写的url中,在url处理程序中,首先判断消息的合法性,判断成功后根据消息体的内容做相应的相应。原理很容易理解,接触过socket的可能理解起来更容易。 然而,微信的文档有的时候确实有点让人摸不着头脑,关于微信接入的文 ....

前几天决定写个微信公众平台开发系列,在发布第一篇博文后,收到了很多园友的反馈和建议,在这里感谢大家的支持,我会坚持写完这个系列,希望能帮助更多的小伙伴。特别要感谢下@ZIP,是他的一个提醒才有了这篇博文。也希望更多的小伙伴能把你的想法反馈给我。 上一篇中主要介绍的是使用花生壳映射到本地开发环境,以写调试文件的方式进行代码调试,在@ZIP的提醒下,研究了vs远程调试,功夫不负有心人,在这个寂静的深夜里,给了我一点小成就感。上一篇文章中讲到的本篇就不废话了 第一步  IIS的配置 进入iis,点击网址,选择你的 ....

微信公众号火了好一阵子了,笔者算是比较早接触微信公众号开发的了,大概做了一年半了,从最开始的到处网上找demo到现在也开发一些公众号。园子里关于微信开发的教程已经数不胜数了,我也准备来凑凑热闹。一是梳理下这段时间开发的经验,二是希望能帮到想做微信开发的小伙伴们,希望大大神们吐槽的时候悠着点,笔者只是一个不到三年工作经验的屌丝程序员,开发经验上和园子里面的大神不是一个等级的,还请大神们多多指点。 下面说正文。 其实微信开发并不是很麻烦或者很难,官方给的文档也还算过的去(至少比微信支付的文档好上百倍),最让人痛 ....

先发服务端的(Server)完整代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Net.Sockets; using System.Net; using System.Threading; namespace SocketServer { class Program { private stat ....

功能描述: 此接口用于获取客户端访问的IP的地址所属的区域(国家,城市等)。通过输入IP地址查询国家、城市、所有者等信息。没有注明国家的为中国输入参数:IP地址(自动替换 " 。" 为 "."),返回数据: 一个一维字符串数组String(1),String(0) = IP地址;String(1) = 国家、城市、所有者等 1.1.1. 接口地址 Webservice方式: 例:http://webservice.webxml.com.cn/WebServices/I ....

namespace ConsoleApplication1 { class Program { static void Main(string[] args) { SystemInfo info = new SystemInfo(); Console.WriteLine(info.PCName); Console.WriteLine(info.IIS); ....