`
文章列表
一个windows服务在卸载之后并不会马上从服务列表中消失掉,而是在服务列表中会显示服务被禁用;这样在你需要再次安装同名服务时,就装不了了,会被提示同名的服务已经存在。如果是在本地安装,这种情况很容易处理,直接重启机器卸载的服务就会从服务列表中消失;而如果这个服务装在服务器上,服务器是不能随便重启的,这时候如果再安装同名的服务装不上了,可以使用变通的办法,修改一下服务的名字,就可以继续安装了。 这不是一个完美的办法,但是可以解决眼前的问题,如果你有好的方案,请告诉我哟。
在很多大型网站的终极架构中都会有用c或c++写的模块,例如memcached,FastDFS,toyota TT等等。而更令微软程序员们郁闷的是这些类库往往都是在linux或者unix机器上经受过大量的性能和稳定性测试,而在windows的服务器上是否稳定,是 ...
代码加注释: view source print? 01 using System;
网站应用中经常会有文件存储的需求,目录结构该怎么建才好呢?让我们来做下分析 对于少量用户写信息,大量用户都是在看信息的网站:例如CMS系统,编辑发咨询,用户看,例如中小企业产品发布网站。 对于这类需求我们可以把文件专门放到一个目录下,例如放到网站根目录的upload目录下,然后按天建文件夹,将每天的文件放到一个目录下,文件名可采用数字生成。例如:upload/20100612/1224455.jpg;通常的情况下这种目录结构就可以保证每个目录下不会有太多的文件。 对于博客,论坛应用,需要对每个用户分配文件存储空间,如果有需求的话还要限制用户的存储空间,对于一般规模的网站目录结构可以用用户id ...
Asp.Net 中有两类缓存方式一种是对页面或者控件的输出内容缓存,一种是对数据的缓存;我们先来看看输出缓存。 输出缓存通常在页面或UserControl上做指令声明,如下示例: view source print? 1
通常情况下Asp.Net 网站的底层数据存储都是关系数据库,关系数据库资源比较昂贵,而且也很容易造成瓶颈。缓字决文章就是为大家介绍如何有效使用缓存,异步写缓冲数据库的压力,从而保证网站的性能。 大家已经看到很多关于Asp.Net缓存的文章了。所以我写的时候要改变一下思路,从缓冲写数据开始说起。缓冲写数据的意思是在数据需要更新时不马上把数据存到数据库,而是先缓冲一下,然后在适当的时机再写入到数据库中。 缓冲写数据可以避免在网站并发访问多的时候,数据库瞬间承受过大压力,而造成死锁或响应不及时的情况。 那么什么时候适合缓冲写呢?是不是所有情况都适用呢?缓冲写会导致数据在内存中或者web serv ...
在上一篇中我们配置好了主从库,现在我们尝试在程序中使用主从库。 主从库之间是一种发布订阅的关系,发布者和订阅者之间并非实时同步的,通常会有几分钟的延时,更有甚者会有几个小时的延时。所以我们需要通过合理 ...
网站规模到了一定程度之后,该分的也分了,该优化的也做了优化,但是还是不能满足业务上对性能的要求;这时候我们可以考虑使用主从库。 主从库是两台服务器上的两个数据库,主库以最快的速度做增删改操作+最新数据的查询操作;从库负责查询较旧数据,做一些对实效性要求较小的分析,报表生成的工作。这样做将数据库的压力分担到两台服务器上从而保证整个系统响应的及时性。 SQL Server提供了复制机制来帮我们实现主从库的机制。我们看下如何在sql server 2005中实践: 实践前需要新创建一个Test的数据库,这个库中建一个测试表。 1. 打开sql server企业管理器,在对象资源管理器里面选择复 ...
Sql Server 2005中在正确设定用户名和密码的情况下用户登录失败,错误号为18456,状态:10的解决方法: 1. 可以通过打补丁解决这个问题。 2. 如果打补丁不方便可以通过执行下面的sql语句解决问题 ALTER LOGIN <SQLAuthenticatedLogin> with CHECK_POLICY = OFF     发生此错误的具体原因请参考:http://support.microsoft.com/kb/925744/zh-cn  
public static class JasonHelper { public static string Escape(string s) { if (s == null) return null; StringBuilder sb = new StringBuilder(); for (int i = 0; i < s.Length; i++) { char ch = s[i]; switch (ch) ...
1. 开始一个Thread开始一个Thread很简单,声明一个Thread实例,然后调用Start方法即可 Thread.Start<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->Thread threadA = new Thread(new ThreadStart(WorkMethod));threadA. ...
做网站开发离不开缓存,缓存分好多种:服务器缓存,第三方缓存,浏览器缓存等。其中浏览器缓存是代价最小的,因为浏览器缓存依赖的是客户端,而几乎不耗费服务器端的资源。 让浏览器做缓存需要给浏览器发送指定的Http头,告诉浏览器缓存多长时间,或者坚决不要缓存。作为.net的程序员,其实我们一直都在用这种方法,在OutputCache指令中指定缓存的Location为Client时,其实就是给浏览器发送了一个Http头,告诉浏览器这个Url要缓存多长时间,最后修改的时间。 微软在OutputCacheModule中对这些缓存用到的Http头给我们进行了很好的封装,但是了解这些Http头可以更灵活的使用 ...
System.Threading命名空间是.Net多线程编程的基础。对于多线程编程在实际工作中一直用的不多,所以了解也就不多。尽管如此,随着多核,多个cpu的出现,大计算量的需要,多线程将越来越受关注。所以打算写个系列博客,以便更多的了解学习多线程的知识。听说.Net4.0中有一个更方便多线程的类库,可惜还没真的见识过,先熟悉System.Threading就当“温故而知新”了   第一篇:从Thread的线程单元状态ApartmentState说起   ApartmentState是一个枚举变量,用来设置线程的单元状态(单元状态的ApartmentState的中文msdn翻译,这个翻译 ...
这里说的with(nolock)是指sql查询中的with选项,例如: select * from t1 with(nolock) where a = 'xx' with(nolock)的意思是查询时不考虑任何锁,可能脏读。虽然可能脏读,但是会带来性能的提升。 在一些不需要考虑脏读的场合会用到,例如我刚刚使用的场合,当用户在论坛发广告贴时删除其所有发帖,这个查询就不怕脏读,全删,或者漏一个正在发的都不是问题。 关于with的选项还有很多,可以指定锁表,锁行,指定查询时使用某个索引,等等。 具体请参考:http://msdn.microsoft.com/en-us/library/ms18 ...
迈克杰克逊去世------缅怀
Global site tag (gtag.js) - Google Analytics