随笔分类 -  C#

摘要:一、Memcached简介Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon)是用C写的... 阅读全文
posted @ 2015-07-25 22:38 楠木大叔 阅读(5989) 评论(10) 推荐(19) 编辑
摘要:在很多.net开发的项目中,我们几乎都会使用到一些自定义的参数,比如说第三方的配置参数之类的.他们的特点是:1.系统全局 2,可以做成键值对(Dictionary). 我们可以将这些参数放到Web.config,xml或者数据库表中,当然部分不常变的可以直接写在程序中.为了方便我通常喜欢将他... 阅读全文
posted @ 2015-01-02 11:13 楠木大叔 阅读(1802) 评论(3) 推荐(0) 编辑
摘要:我的AngularJS 学习之旅基础篇1、Angular的 起源2、比较Web 页面实现的几种方式3、一些基本术语4、Angular与其他框架的兼容性5、总结6、综合实例 很早之前就听朋友说起AngularJs,但由于各种原因,一直没去研究。最近正好有同事也对这个框架比较感兴趣,大家一起讨论,于... 阅读全文
posted @ 2014-08-19 23:42 楠木大叔 阅读(1902) 评论(3) 推荐(1) 编辑
摘要:1.获取和设置当前目录的完全限定路径。string str = System.Environment.CurrentDirectory;Result: C:\xxx\xxx2.获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称。string str = System. Windows .Forms.Application.StartupPath;Result: C:\xxx\xxx3.获取新的 Process 组件并将其与当前活动的进程关联的主模块的完整路径,包含文件名。string str = System.Diagnostics.Process.GetCurrentProcess 阅读全文
posted @ 2014-02-13 21:31 楠木大叔 阅读(224) 评论(0) 推荐(0) 编辑
摘要:在B/S系统中,下拉列表(select/dropdownlist/combobox)的应用随处可见,为了增强用户体验,开发人员也常常会做一些带联想功能的下拉列表, 特别是数据项比较多的时候,用户筛选起来就会很容易。 如果考虑多选的场景,我想以下的实现方式很多时候是能够满足要求的:带复选框(checkbox)的下拉列表,应该是比较直观和方便了,也很符合用户的习惯.但是如果数据项太多的时候。滚动条会很长,有两个不足:1.用户查询自己想要的目标很困难;2.用户如果需要选择的项很多(>10项),滚动条容易遮挡住,用户可能也不知道自己到底选了哪些。于是带复选框且有联想功能的多选下拉列表... 阅读全文
posted @ 2013-08-01 23:20 楠木大叔 阅读(2867) 评论(1) 推荐(0) 编辑
摘要:这两天在做一个文章内修改的功能,由于前端选用的Extjs控件库,于是就使用Ext.form.HtmlEditor. 在使用ajax提交数据的时候,需要提交包含有html代码的数据。这时候问题就来了,不管是对数据不编码,用escape()编码、encodeURI()编码还是用encodeURIComponent()编码,提交数据是,服务器都会报错(500错误),估计是某些这些编码函数无法编码的字符造成的,正好在网上发现了一个干货,即自己写一个javascript函数,用来替换特殊字符,服务端接受后再反编码回来就可以了。函数如下:前台处理(js):function ajax_encode(... 阅读全文
posted @ 2013-07-13 13:27 楠木大叔 阅读(3040) 评论(0) 推荐(0) 编辑
摘要:刷微博已经成为大家的一种生活方式,我今天要介绍的功能就很类似刷微博。当我们需要将大数据(比如百万条数据)显示在页面上的时候,显然一次加载是不现实的,用户体验很差。当然,你可能会想到采用分也显示,但是现在的用户已经厌倦了分页的方式,他们更喜欢刷微博的方式。于是就出现了这篇文章。笔者近期的项目中,采用的前端框架是ExtJs,其提供的GridPanel足以应付一次性加载500+以上的记录,只是会让用户等待一会。但是日志的显示没那么简单,其数据一直在增加,用户也不想分页查看,而是用传统的GridPanel也不太适合。Google之后,原来ExtJs已经提供了一个插件(Ext.ux.grid.li... 阅读全文
posted @ 2013-06-07 08:24 楠木大叔 阅读(3150) 评论(11) 推荐(0) 编辑
摘要:由于项目需要,笔者最近需要实现Web客户端之间的消息的即时推送功能。功能描述如下:假设A,B,C用户登陆,内存记录下已登录的用户的信息,这时A在所在的客户端(SendInfo.aspx)页面向B发消息,则在B所在客户端页面(SendInfo.aspx)将弹出消息框。关键点有两个:1.保证客户端和服务端的连接2.保证服务端能够向客户端广播消息笔者是第一次做这样的实现,所以Google了一些资料,了解到可使用Comet,ajax轮询,WebSocket等技术实现,由于时间关系,发现有些技术不是很容易理解,这里做了一个简单Demo.希望能够达到抛砖引玉的作用,与大家分享,共同提高。笔者做了两个框架下 阅读全文
posted @ 2013-03-12 08:23 楠木大叔 阅读(7028) 评论(26) 推荐(14) 编辑
摘要:CometController.csView Code using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Mvc;using CometMvcDemo.Models;namespace CometMvcDemo.Controllers{ public class CometController : AsyncController { private AsyncCallback cb; object extraD... 阅读全文
posted @ 2013-03-10 22:26 楠木大叔 阅读(1221) 评论(1) 推荐(1) 编辑
摘要:(原文)http://jingyan.baidu.com/article/67508eb4ff92c69cca1ce49a.html我相信不少站长都遇到个头疼的问题。.NET如何在IIS7或者IIS7.5下设置伪静态?现在小编来一一解答这个问题!首先,在这之前对IIS 6.0 配置过伪静态:httpHandler实现.Net无后缀名Web访问。现在服务器硬件升级了,操作系统也升级成了Windows Server 2008 SP4,好吧。我们也来设置下IIS 7.5的伪静态!方法/步骤首先新建一个应用程序池,名称任意,这里小编新建的是:test,托管管道模式先暂时设置为集成模式,等下面的一系列设 阅读全文
posted @ 2013-03-05 20:29 楠木大叔 阅读(896) 评论(0) 推荐(0) 编辑
摘要:在做WEB表单时,为了增加用户体验,表单验证通常是必不可少的。而这样的效果通常也是通过正则表达式实现。如果在往前考虑一步,假如用户自己也能根据需要修改这些正则表达式,那就更加人性化了。在做管理系统时,除了数据库,我们用的最多的恐怕就是XML文件了,由于操作简单,我们喜欢用XML作为模版的配置文件。这里主要强调在XML中配置正则表达式的写法,笔者确实走了一些弯路。 因为XML(HTML)中,<,>,&有特殊的意义,(前两个字符用于链接签,&用于转义)不能直接使用。 XML CDATA是什么? CDATA部件在CDATA内部的所有内容都会被解析器忽略。 如果文本内容包含 阅读全文
posted @ 2013-01-04 23:04 楠木大叔 阅读(3824) 评论(0) 推荐(2) 编辑
摘要:由于业务需要,笔者刚进到一个项目组,由于没有美工,前台采用ExtJs + MVC 2 ,迭代1的项目做的还算比较顺利,至少在本机上是运行没有任何问题的,但是为了给客户演示,我兴高采烈的将网站部署在IIS 上,结果总是提示'Ext'未定义'。通过Google浏览器,按了F12调试,发现时ExtJs路径引用问题,在vs里运行正常,怎么发布之后,就出现这种情况? 仔细查看路径,是相对路径,我想这就是问题的症结所在了。 于是大胆Google,手气不错,还是有关于MVC部署的解决方案,但是试过了N多次之后,仍然毫无改观。 由于未能解决,项目进度压身,项目组开始打算换框架,他们希望 阅读全文
posted @ 2012-08-04 00:48 楠木大叔 阅读(1637) 评论(10) 推荐(1) 编辑
摘要:ExtJs学习目录懒人笔记(1) ExtJs初探ExtJs懒人笔记(2) ExtJs页面布局ExtJs懒人笔记(3) 动态Grid的实现引言 使用过.NET 服务端控件的童鞋都应该会对它的方便性记忆犹新,像GridView的使用是非常普遍的,它的好处我就不在多说了。GridVew控件是极其强大的,我这里只想强调它的一个常见功能——动态列。我们唯一要做的就是为它绑定数据,而不用关心列数的变化,一切都是自适应的。缘由 最近在使用Extjs制作页面,在使用ExrJs Grid控件时需要实现动态列的效果,也就是列名和数据都是从后台动态获取的。一个简单的功能到了客户端控件,怎么就这样麻烦呢?在网上查了一 阅读全文
posted @ 2012-07-15 01:13 楠木大叔 阅读(2726) 评论(3) 推荐(0) 编辑
摘要:如题,最近需要处理一些字符串数组之间相互无重组合的实际问题。把问题抽象出来,实际就是数学中的排列组合问题,思想很简单,只是在实现上着实花了一些功夫,而且代码尚需进一步优化,写下来希望能和大家一起探讨,欢迎大家提建议,以使程序能进一步优化。问题描述:假设现有三组字符,如下{k1,k2},{k3,k4},{k5}要求三组数据组合,组合的每一个结果必须包含三组中的字符,且不重复。针对这种少量的数组,通过排列组合我们可以计算出组合数量N = 2*2*1 = 4 (种)结果如下:k5k3k1k5k4k1k5k3k2k5k4k2思想很简单的,我实际问题抽象成了二维数组,实际就是一维数组中n个一维数组的组合 阅读全文
posted @ 2012-05-08 23:56 楠木大叔 阅读(1695) 评论(3) 推荐(3) 编辑
摘要:using关键字有两个重要的应用:1.作为指令,用于为命名空间创建别名或导入其它命名空间中定义的类型; 2.作为语句,用于定义一个范围,在此范围的末尾将释放对象。 using指令的两个用途:1,允许在命名空间中使用类型,这样就不必在该命名空间中限定某个类型的使用,例如:using System.Data; 2. 为命名空间或类型创建别名,例如:using myClass1=NameSpace1.myClass; using语句的用途:提供能够确保正确使用IDisposeable(定义一种释放分配的资源的方法)的方便语法,例如:using (System.IO.StreamReader sr . 阅读全文
posted @ 2012-04-17 16:22 楠木大叔 阅读(487) 评论(0) 推荐(0) 编辑
摘要:Attribute的基本概念经常有朋友问,Attribute是什么?它有什么用?好像没有这个东东程序也能运行。实际上在.Net中,Attribute是一个非常重要的组成部分,为了帮助大家理解和掌握Attribute,以及它的使用方法,特地收集了几个Attribute使用的例子,提供给大家参考。在具体的演示之前,我想先大致介绍一下Attribute。我们知道在类的成员中有property成员,二者在中文中都做属性解释,那么它们到底是不是同一个东西呢?从代码上看,明显不同,首先就是它们的在代码中的位置不同,其次就是写法不同(Attribute必须写在一对方括符中)。什么是Atrribute首先,我 阅读全文
posted @ 2012-04-13 16:16 楠木大叔 阅读(313) 评论(0) 推荐(0) 编辑
摘要:1.string 和 stringbuilder的区别:String在任何语言中,都有它的特殊性,在.NET中也是如此。它属于基本数据类型,也是基本数据类型中唯一的引用类型。字符串可以声明为常量,但是它却放在了堆中。一:不可改变对象在.NET中String是不可改变对象,一旦创建了一个String对象并为它赋值,它就不可能再改变,也就是你不可能改变一个字符串的值。这句话初听起来似乎有些不可思议,大家也许马上会想到字符串的连接操作,我们不也可以改变字符串吗?看下面这段代码:1 using System;2 3 namespace Demo14 {5 ///<summary>6 /// 阅读全文
posted @ 2012-04-13 16:07 楠木大叔 阅读(413) 评论(1) 推荐(0) 编辑
摘要:此前曾处理过将MySql数据库表和MsSql数据库中部分表进行数据同步的问题。尽管是所涉及的表不多,但是我们也姑且称之为“异步数据库的同步”吧。实际最初是编写的PHP程序来做,功能到时实现了,但是定时的问题不好解决。后来据说可以在SqlServer中编写任务,即通过写Sql脚本,但是我这种情况并不是单纯的两张表之间的同步,因为两张表的结构并不同,而是需要将分别来源于MsSql和MySql的两张表合并重组之后,插入新表,整个过程相对复杂,自己也担心用单纯的sql实现比较难写,要是用程序实现,整个过程显然是掌握在自己手中,至少维护起来是相当给力的。所以最终还是选择了采用 C#实现数据的相互导入。. 阅读全文
posted @ 2012-02-21 17:21 楠木大叔 阅读(997) 评论(0) 推荐(0) 编辑
摘要:“条条大路通罗马”,当我们陷入大量的编码,赶工期,超进度的时候,有时可能会迷失自己。我们似乎总是会过多的投入到功能的实现上,而并不注重代码质量的高低,事实上企业只看中的结果,代码的实现,没有多少人会关注。这往往会形成一种固有思维,即习惯于用一种思路编程,而忽略了其他的实现方式。我想这个应该不仅仅是我,是很多人都存在的毛病。怎么讲?记得自己在学校上学的时候,学习.net编程,总是很兴奋,喜欢尝试一些不同的方法。毕竟,在学校自己是毫无压力的。前几天,翻看了自己大学时上交的.NET课程作业,看了那些自己比较用心编写的代码之后,发现自己现在反而在思路方面局限了。不知道大家有没有这种感觉,特别是步入社会 阅读全文
posted @ 2012-01-11 15:04 楠木大叔 阅读(490) 评论(0) 推荐(0) 编辑
摘要:数据库和Excel数据交互在生产生活中是很普遍的,实现方式也各异。最近在项目中使用了.NET Excel组件,在本机上运行并没有出现什么情况。而且该组件使用起来也比较简单,功能也很强大。但是将站点发布到服务器上,总是报错。在网上查阅相关资料后,按照步骤哦对服务器进行了配置,结果仍然存在问题。以下是报错信息:“/”应用程序中的服务器错误。检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005。说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误 阅读全文
posted @ 2012-01-11 11:45 楠木大叔 阅读(1028) 评论(0) 推荐(0) 编辑