随笔分类 -  [03] ASP.NET

The technology about ASP.NET
摘要:.NET Framework在web.config或app.config中默认提供了很多种设置,以便能够改变应用程序内嵌组件的行为,例如、、等等,这对于常规情况下的一般程序员而言是足够用的,也是非常方便的。但是我们越来越多地发现需要自己来控制一系列设置的集合 - 有时是面向组件的(自定义的或第三方提供的),有时是应用程序中使用的一系列值的集合。 .config虽然默认提供了自定义设置(在节点下),但是它太弱了,仅仅只支持键值对(key/value) 虽然键值对在大多数情况下也是很有帮助的,但是它对于健壮的组件、复杂的设置而言是不够灵活的,甚至显得过于简单。幸运的是,微软为我们提供了一种... 阅读全文
posted @ 2013-12-06 15:29 舍长 阅读(1824) 评论(1) 推荐(1) 编辑
摘要:一、问题起因 系统发布上线后,有时会发生错误,那么错误的记录就很重要,它对于错误的排查和问题的发现有着重要的作用,通常我们采取的方式为Log日志文件记录和数据库错误记录。文本不会讨论错误记录的方式以及如何记录记录,而是更关注如何更好地获取错误的具体信息,换句话说如何能够更好地提供错误信息的描述以便快速解决问题。 通常错误的记录类似如下的写法 (不保证正确,这只是一种方式)private string BuildStackTrace(Exception _exp){ Exception exp = _exp; StringBuilder sb = new StringBuilde... 阅读全文
posted @ 2013-07-25 17:05 舍长 阅读(2315) 评论(0) 推荐(0) 编辑
摘要:一、问题起因 最近项目中有一页面第一次search后正常,但是再次点击其它任何按钮都会报错,亦即postback后页面有问题,经检查是由于页面有一GridView且数据量极大,记录大概有上千条,这儿解释一下,本页面不允许分页要求所有的记录都要显示已方便使用,另你可能说为啥要用GridView啊?这也不是本文要讨论的问题。 经查,ASP.NET对postback是有限制的,确切地说是对postback后form上fields的集合大小的限制,默认大概1000,而我们这个页面仅仅Input, Select等就达到上千,所以才会造成页面出错即Operation is not valid due .. 阅读全文
posted @ 2013-07-24 10:33 舍长 阅读(2211) 评论(1) 推荐(1) 编辑
摘要:由于在下载Visual Studio 2010安装程序(大约3G左右)的时候速度飞快,大约几分钟下载完毕(多线程下载工具下载),所以笔者在继续安装Visual Studio 2010 SP1的时候也选择了在线安装(没有选择先下载离线安装包,然后在离线安装),但殊不知在线安装的速度超级慢(可能是单线程下载),足足花了90分钟左右。既然辛苦地安装完毕,笔者在想下次安装的时候岂不是要再次遭受痛苦(或者先选择下载离线安装包文件),所以才有了本文的产生,即试图找到之前在线安装时缓存在本地的文件,并理清所有的安装过程和文件顺序。 首先通过热键 + R调出CMD,并输入%temp%,打开系统的临时文件... 阅读全文
posted @ 2013-07-12 10:17 舍长 阅读(5374) 评论(2) 推荐(0) 编辑
摘要:WebForms和WebServices作为.NET平台构建Web程序的两大利器,以其开发简单、易于部署的特点得到了广泛的应用,但殊不知微软公司在背后为我们做了大量的基础性工作,以至于我们开发人员只需简单地拖拖控件、写写一些页面级的代码就可以轻松地实现一些简单的应用程序。当然这种封装也不是没有好... 阅读全文
posted @ 2013-04-11 15:08 舍长 阅读(7780) 评论(0) 推荐(6) 编辑
摘要:一、写在前面 我们在使用ASP.NET开发的过程中,有时会进行数据存储以实现请求前后的状态保持(HTTP是无状态保持的协议),而Session作为一种快速简单易于实现的方式被我们经常使用,当然如果出于性能方面的考量,我们还是不建议往Seesion中塞入更多的东西,最好是不用Session。 还有一点需要说明的是,Session实现的本质是在客户端产生一个SessionId,具体的数据存储在服务器端,客户端通过SessionId来获取服务器端的具体数据,那这个SeesionId是怎么保存在客户端以及又是以什么方式来传给服务器的呢?服务器端又是以什么方式保存Session的这些数据的呢?各种方.. 阅读全文
posted @ 2012-06-25 13:59 舍长 阅读(14330) 评论(1) 推荐(8) 编辑
摘要:Windows Service下调用Outlook组件出现错误:Retrieving the COM class factory for component with CLSID {0006F03A-0000-0000-C000-000000000046} failed due to the following error: 80080005解决方案:打开注册表regedit并定位到HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{0006F03A-0000-0000-C000-000000000046}找到AppId的值{00020D09-0000-000 阅读全文
posted @ 2012-06-21 17:10 舍长 阅读(2209) 评论(0) 推荐(0) 编辑
摘要:本文是对FTP相关操作,例如新建/删除目录、新建/删除文件、获取文件/目录列表等的总结,方便日后调用。 其实C#操作FTP和操作本地文件/目录差不多,尤其是对动作而言,因为它们都是文件或目录,区别在于FTP可以是远程的文件或目录等,所以需要建立一个连接,当然由于是对FTP的请求,所以会要求从本地发起一个FtpWebRequest,当然这个请求中包含一些设置,例如:请求连接的信用凭证、数据的传输格式、以及请求的FTP动作等等,FTP服务器接收到这个请求后就会返回一个FtpWebResponse了。本来微软已经提供了操作FTP的一些方法,都在System.Net命名空间下,但是感觉用起来还是不是. 阅读全文
posted @ 2011-07-18 13:41 舍长 阅读(2235) 评论(3) 推荐(2) 编辑