Lucene.Net实现GroupBy的效果(2.3.1版)

本文简单介绍Lucene.Net实现GroupBy效果的方法,与《Lucene.Net 按类别统计搜索结果数》一文类似。注意,这种使用方法很影响效率,特别是命中结果多的情况下。这段代码修正自2.3.1版本,其它版本可能会与此有差别。改造方法仍然是修改IndexSearcher,这里不再修改类库,而是通过自己的代码来实现。扩充IndexSearcher类Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->///summary///增加了GroupBy功能
http://www.w3dev.cn/article/20090901/1019.aspx

防止.NET木马列所有站物理路径,防止.JPG类型木马

前段时间单位的服务器上被人上传了一个.NET木马,,这次让我认识到以前没有见过的上传木马的招数,,同时也找出一些对策,,咱落伍论坛很多都有服务器的,,就分享出来给大家吧。.net木马目前很强的,下载地址://download/20090831/76.aspx(你可以上传到你的服务器上看看对你的系统都能做什么)此木马是一个.NET程序制作,如果你的服务器支持.NET那就要注意了,,进入木马有个功能叫:IIS Spy,点击以后可以看到所有站点所在的物理路径。以前有很多人提出过,但一直没有人给解决的答案。。防御方法:“%SystemRoot%/ServicePackFiles/i386/active
http://www.w3dev.cn/article/20090831/886.aspx

.net 2.0 remoting 中 TCP Channel 用户认证探讨

semblyName,命名空间为:AuthorizationNameSpace。+展开-C#classAuthorizationModule:IAuthorizeRemotingConnection{publicboolIsConnectingEndPointAuthorized(System.Net.EndPointendPoint){//验证IP地址代码.....returntrue;}publicboolIsConnectingIdentityAuthorized(IIdentityidentity){//Windows用户名identity.Name//Windows用户验证代码..
http://www.w3dev.cn/article/20090831/894.aspx

.net 使用 TCP 信道进行身份验证

使用 TCP 信道进行身份验证TCP 信道直接支持身份验证和模拟。本主题介绍如何配置客户端和服务器信道。通过设置关联的 TcpServerChannel 和 TcpClientChannel 对象的属性,.NET Framework 允许远程对象的服务器对调用方进行身份验证和模拟。服务器配置若要配置 TCP 服务器信道以对远程调用方进行身份验证,请将 TCP 信道上的 secure 属性设置为 true,如下面的配置文件所示。+展开-XML?xmlversion="1.0"encoding="utf-8"?>configurationsystem.runtime.remotingapplic
http://www.w3dev.cn/article/20090831/895.aspx

简易天气预报查询

atch(htmlBody)){json="{success:true,weathers:[{d:'"+DateTime.Now.ToString("yyyy-MM-dd")+"'";Matchm=r.Match(htmlBody);json+=",weather:'"+m.Groups[2].Value+"'";r=newRegex("div\\s+class=\"w-number\"([\\s\\S]+?)/div",RegexOptions.IgnoreCase|RegexOptions.Compiled);m=r.Match(htmlBody);json+=",tmp:'"+Remov
http://www.w3dev.cn/article/20090825/866.aspx

根据访问用户IP地址自动获取天气预报

mlBody):json=json,weather:'trim(mc.item(0).submatches(1))'r.pattern=w-number([\s\S]+?)setmc=r.execute(htmlBody):json=json,tmp:'trim(RemoveHTML(mc.item(0).submatches(0)))'r.pattern=list-s1([\s\S]+?)setmc=r.execute(htmlBody):tmparr=wSplit(mc.item(0).submatches(0),true)json=json,dir:
http://www.w3dev.cn/article/20090825/automatic-get-weather-report-by-visitor-ip.aspx

asp.net 单用户登录经典解决方案

分钟内不会执行END事件,也就是说用户还是在线状态,那么此用户再次登录将不被允许。这显然有点不合理。这个方案就显得不够完美了,希望大家补充。补充:第三步的代码已更新,可以解决这个问题二、 由于某些原因,在我们的应用中会遇到一个用户只能在一个地方登录的情况,也就是我们通常所说的单点登录。在ASP.NET中实现单点登录其实很简单,下面就把主要的方法和全部代码进行分析。实现思路利用Cache的功能,我们把用户的登录信息保存在Cache中,并设置过期时间为Session失效的时间,因此,一旦Session失效,我们的Cache也过期;而Cache对所有的用户都可以访问,因此,用它保存用户信息比数据库
http://www.w3dev.cn/article/20090824/865.aspx

.NET用JMAIL发邮件

.NET自带的有MAIL类,可以自己发邮件,不过要SMTP服务器的支持  对于我们这些寄居于别人服务器的,一般都没有装,就要用到第三方免费邮件提供商  因为没有验证用户信息,发出的信件会被很多服务器所拒收,还是用JMAIL发吧  安装JMAIL组件,在VS里添加对组件的引用 程序代码+展开-C# usingSystem; usingSystem.Web.Util; usingSystem.Web.Mail; usingjmail;//引用JMAIL namespaceshop.web { ///summary ///mail的摘要说明。 ////summary /// //属性 publi
http://www.w3dev.cn/article/20090814/781.aspx

ADO.Net的数据库连接池

题外话今天同事问我.Net的数据库连接有没有连接池的概念。我根据脑海里一点模糊的印象回答他.Net是自己实现了连接池,不需要手工再实现一遍。后来回家确认了一下,原来我的这点印象来自《C#和.Net核心技术》中一小段数据库连接池的介绍。可能当时也只是知道.Net自己实现了不需我们再手工实现,另外就是.Net是通过连接字符串的不同来区分不同的连接的。所以当时就放在一边不管了,呵呵,真是懒惰啊。这次新问题是,既然.Net底层实现了连接池,当在程序中显式调用close()方法时,连接会不会关掉呢?《C#和.Net核心技术》中也只有500字不到的一点说明,没有说清楚这点,于是找了MSDN。一切如“众里
http://www.w3dev.cn/article/20090814/816.aspx

.net环境下如何使用MySql数据库

在网上看到一篇关于Asp.net和mysql的文章,mysql安装和.NET中连接MySQL数据库的方法详细请看《ASP.NET+MySQL简明图示入门》http://www.yesky.com/431/1944431.shtml用vb.net写的,我现在把代码改为C#的,数据库也使用了mysql5.0这里我使用EMS Mysql Manager lite工具管理mysql5.0如图:这里我数据库和表已经建好,现在打开vs.net2003,新建一个项目mysqltest现在我们安装MySQL Connector/Net具体安装方法请看《ASP.NET+MySQL简明图示入门》http://w
http://www.w3dev.cn/article/20090814/819.aspx

asp.net 串口操作

irec.Length;i++){buf[i+3]=rec[i];}buf[buf.Length-1]=0x0D;//发送ESCQA数字CRbyte[]chs=newbyte[3];chs[0]=0x1B;chs[1]=0x73;chs[2]=0x30;//发送CLRtry{pt.Open();pt.SendData(chs);pt.SendData(buf);}catch{}finally{pt.Close();}}}}来源:http://topic.csdn.net/u/20090808/09/8580aac7-d3c1-4777-a77f-f6b374c4d259.html?74361
http://www.w3dev.cn/article/20090808/682.aspx

ASP.NET(C#)连接SQL EXPRESS

接的用户。有关如何确定 ASP.NET 应用程序标识的信息,请参见 ASP.NET 模拟。虽然启用用户实例适合于桌面开发,但是启动辅助进程不适合为多个客户托管站点的 Web 服务器,在这种情况下,必须分离应用程序并进行安全保护。使用相同进程标识运行的 ASP.NET 应用程序可以连接到同一个用户实例。由于在 Windows 2000 和 Windows XP Professional 上,所有 ASP.NET 应用程序都使用相同的进程标识(默认为本地 ASPNET 帐户)运行,而在 Windows Server 2003 上,同一应用程序池中的 ASP.NET 应用程序也使用相同的进程标识(
http://www.w3dev.cn/article/20090804/652.aspx

更改ASP.NET上传大小限制

76"executionTimeout="3600"/      /system.web/configuration 其中:maxRequestLength:指示 ASP.NET 支持的HTTP方式上载的最大字节数。该限制 可用于防止因用户将大量文件传递到该服务器而导致的拒绝服务攻击。指定的大小以 KB 为 单位。默认值为 4096 KB (4 MB)。executionTimeout:指示在被 ASP.NET 自动关闭前, 允许执行请求的最大秒数。在当文件超出指定的大小时,如果浏览器中会产生 DNS 错误或者 出现服务不可得到的情况,也请修改以上的配置,把配置数加大
http://www.w3dev.cn/article/20090723/602.aspx

asp.net 编译错误类型“同时存在于”不同的dll中

页面引用了相同得.CS文件,在发布得时候也会出现这种错误。2、估计是在Bin里面还有一个老版本的DLL,而新版的DLL名字换掉了,新的覆盖不掉老的,并存在BIN里时,有可能会发生这种情况. 解决方案:把BIN里的手动删掉,C:\WINDOWS\Microsoft.NET\Framework\版本号\Temporary ASP.NET Files的临时文件里,把相应的目录都删掉,然后重新编译运行就OK.记着bin目录下组件一定要手动删除3、我就是遇见得这种情况:控件的名字和引用控件得页面取了一模一样得名字,虽然在编译得时候没有错误,但是发布得时候会提示。来源:http://www.cnblo
http://www.w3dev.cn/article/20090721/591.aspx

ASP.NET Web.config配置详解

一、认识Web.config文件 Web.config 文件是一个XML文本文件,它用来储存 ASP.NET Web 应用程序的配置信息(如最常用的设置ASP.NET Web 应用程序的身份验证方式),它可以出现在应用程序的每一个目录中。当你通过.NET新建一个Web应用程序后,默认情况下会在根目录自动创建一个默认的 Web.config文件,包括默认的配置设置,所有的子目录都继承它的配置设置。如果你想修改子目录的配置设置,你可以在该子目录下新建一个 Web.config文件。它可以提供除从父目录继承的配置信息以外的配置信息,也可以重写或修改父目录中定义的设置。 (一).Web.Conf
http://www.w3dev.cn/article/20090720/589.aspx

在.NET中字符串替换的五种方法

perPattern=pattern.ToUpper(); 如果需要敏感,就免了这2行。解释:先建一个char[]类型的变量采访替换后的字符,其大小就是最大可能被替换的字符,例如ABABAB,替换AB成C,其获取过程就是ABABAB最大可能包括的AB的数目乘以AB多于C的数目, 以下为引用的内容:  char[]chars=newchar[original.Length+Math.Max(0,inc)];   ,inc不一定大于零。然后循环,用IndexOf索引。赋值。。。判断,返回。http://www.chinaz.com/Program/.NET/11144495R008_2.html
http://www.w3dev.cn/article/20090717/502.aspx

用.NET动态创建类的实例讲解

sembly]=[Assembly].LoadFrom(strDllName)'加载DLL  DimmyTypeAsSystem.Type=a.GetType("Class1")'获得Class1的Type  DimobjAsObject=Activator.CreateInstance(myType)'获得Class1的实例 3.Class1.vb原文件以下为引用的内容: PublicClassClass1ClassClass1  PubliciAsInteger  EndClasshttp://www.chinaz.com/Program/.NET/1114449562008.html
http://www.w3dev.cn/article/20090717/503.aspx

如何提高asp.net性能

决方案主要用于跨多个处理器或多个计算机缩放应用程序,或者用于服务器或进程重新启动时不能丢失数据的情况。有关更多信息,请参见 ASP.NET 状态管理。   25. 不使用不必要的Server ControlASP.net中,大量的服务器端控件方便了程序开发,但也可能带来性能的损失,因为用户每操作一次服务器端控件,就产生一次与服务器端的往返过程。因此,非必要,应当少使用Server Control。   26. ASP.NET应用程序性能测试  在对ASP.NET应用程序进行性能测试之前,应确保应用程序没有错误,而且功能正确。具体的性能测试可以采用以下工具进行:Web Application
http://www.w3dev.cn/article/20090717/516.aspx

ASP.NET AJAX调用Web Service

NET AJAX调用ASP.NET web services。软件需求本文所有的范例都是使用ASP.NET AJAX RC版,而且,要在SQL Server 2005 (Express版即可)上有一个Northwind数据库。范例使用Visual Studio 2005作为开发环境。范例场景范例开发了一个Web页面,用于输入Northwind数据库职员表中的职员数据。页面通过ASP.NET AJAX功能,调用一个Web Service来完成职员表中的数据增、删、改、查。创建一个Web Service作为开始,使用Visual Studio 2005创建一个新的Web站点,注意把ASP.NET
http://www.w3dev.cn/article/20090710/445.aspx

asp,asp.net,php生成guid的办法

iongetGUID()DimTypeLibSetTypeLib=Server.CreateObject(Scriptlet.TypeLib)getGUID=replace(replace(TypeLib.Guid,{,),},)SetTypeLib=NothingEndFunctionasp.net-C#stringGUID=System.Guid.NewGuid().ToString();js,使用acx,仅ie有效果-JavaScriptfunctionGUID(){varTypeLib=newActiveXObject(Scriptlet.TypeLib);returnTypeLib
http://www.w3dev.cn/article/20090710/477.aspx

Ajax.net用户指南

Back)', 10000);" 页面加载后每10秒钟向服务器函数请求一次。如果有返回,则call back函数检查response,并把最新的结果显示出来。结论Ajax技术可以给客户端提供丰富的客户体验,而ajax.net为您容易的实现这样强大的功能提供了可能,你可以通过下面的链接查看ajax.net的最新文档Keep a close eye on the AJAX .Net wrapper website:http://ajax.schwarz-interactive.de/For a good hands-on sample, check out the following demo
http://www.w3dev.cn/article/20090708/433.aspx

Asp.net终极优化指南秘籍

.net的Ajax功能Ajax的确是一个好东西,它提供了创新的强大的无比优越功能,让我们在网页的效果,和效率上更上一层楼。但是使用Asp.net自带的所谓Ajax,实在是一个灾难!它会把一大堆你没有用到的代码写进你的网页里面,特别是那些websource.axd文件,加起来有300-500KB,甚至更多。所以想使用UpdatePanel,或许Ajaxcontroltoolkit那些东西的话,还是放弃的好.....老老实实地学一下Ajax,自己编写js出来。iGtan.com这里用了不少Ajax的地方,但是相关的Ajax代码也不过2-3Kb左右....调用起来非常方便。5.放弃Asp.net
http://www.w3dev.cn/article/20090707/419.aspx

ajax无刷新上传文件,使用iframe模仿

name=des /br 选择文件:input type=file name=upfile /br input type=submit value=提交 / /form div id=ajaxMsg/div/body/html  如果不想动态页输出脚本,而是JSON之类的内容,可以给iframe添加onload事件获取动态页返回的内容iframe name=ajaxifr style=display:none; onload=alert('服务器返回的内容:\n\n'+this.contentWindow.document.body.inn
http://www.w3dev.cn/article/20090707/ajax-no-fresh-upload-files-by-iframe.aspx

在.net中如何利用数据工厂实现多数据库的操作

中的SQLServerDAL下面的Category.cs文件和OracleDAL下面的Category.cs文件的代码可知道,因为它们都继承了ICategory接口,所以类实现的方法都相同,这时候我们只需要增加一个MySqlDAL项目,其下面的Category.cs文件也同样遵循ICategory接口的方法,这时候我们再去修改为这个时候都不需要重新对项目进行编译,只需要增加MySqlDAL.DLL文件就可,无论增加多少数据库,都是一件很简单的操作,数据工厂操作多数据的优点就明显可见。来源:http://www.chinaz.com/Program/.NET/0F1319412008.html
http://www.w3dev.cn/article/20090706/401.aspx

ASP 整合ASP.NET的URL参数编码问题

g="gb2312" resp/ 会导致其他程序连锁反应比较合适的是System.Collections.Specialized和System.Text命名空间下的方法NameValueCollection gb2312Requests;gb2312Requests = HttpUtility.ParseQueryString(Request.Url.Query, Encoding.GetEncoding("GB2312"))Response.Write(gb2312Requests["string"]); //'string为提交的参数的KeyASP 整合ASP.NET的URL参数编码问题
http://www.w3dev.cn/article/20090706/402.aspx

在.NET环境下为网站增加IP过滤功能

需要设置一个IP列表和一个Url列表,前者包含所有厂内IP,后者包含厂外用户可访问的全部Url,并且这两个列表都是可维护的;另外一个核心问题是,我们需要选择一个合理的方式将开发好的功能模块集成到企业网站中,HttpModules义不容辞。  在Asp.Net时代,IIS 接收到请求并将其调度给 aspnet_isapi.dll之后,ASP.NET 引擎开始逐个对已配置的HTTP模块(HttpModules)进行初始化,然后再调用正确的HTTP处理程序并呈现被请求的资源,最后将所生成的标记返回给 IIS 和请求客户端(如下图所示)。如果你想了解更多关于HttpModules的资料,请自行查阅。2
http://www.w3dev.cn/article/20090706/405.aspx

趣味理解:三层架构与养猪—《.NET深入体验与实战精要》[

殖方式已经无法满足规模化的需要了。并且,从社会的发展来看,社会分工是人类进步的表现 。社会分工的优势就是让适合的人做自己擅长的事情,使平均社会劳动时间大大缩短,生产效率显著提高。能够提供优质高效劳动产品的人才能在市场竞争中获得高利润和高价值。人尽其才,物尽其用最深刻的含义就是由社会分工得出的。软件开发也一样,做小项目的时候,分不分层确实看不出什么差别,并且显得更麻烦啰嗦了。但当项目变大和变复杂时,分层就显示出它的优势来了。所以分不分层要根据项目的实际情况而定,不能一概而论。原文:http://blog.csdn.net/litp/archive/2009/06/30/4311321.aspx
http://www.w3dev.cn/article/20090706/414.aspx