Reader's Digest

Digest your Internet

Archive for May, 2008

如何实现Asp与Asp.Net共享Session

微软.net中,Session的存储机制已经与Asp的存储机制不一样,虽然可以在同一个IIS下同时运行asp与aspx,但是它们之间不能传递Session。 之前大批系统应用到了asp,在升级过程中,如果完全抛弃asp来重写,一来工作量太大,二来以前的成果不能保存下来。 所以微软提出了一个Session共享的解决方案,只是此文档光说明原理,并没有说具体的操作步骤,由此,我撰文描述过程。 简单说明原理,asp与asp.net之间的Session统一存储在数据库中来实现共享 1、创建数据表 打开SQL Server查询分析器,运行以下脚本来创建数据表,数据表名为SessionState if exists (select * from sysobjects where id = object_id(N'[dbo].[SessionState]’) and OBJECTPROPERTY(id, N’IsUserTable’) = 1) drop table [dbo].[SessionState] GO create TABLE [dbo].[SessionState] ( [ID] uniqueidentifier NOT NULL , [Data] [image] NOT NULL , [Last_Accessed] [datetime] NOT NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] GO alter TABLE [dbo].[SessionState] WITH NOCHECK […]

Read the rest of this entry »

开发手记之实现web.config的快速配置

问题简述:        在Web开发中,对web.cofig进行配置是非技术人员无法胜任的工作,但是常常需要由客户自己来进行简单配置的时候,需要提供一个有效的工具来指导客户完成这项操作,并且防止无效或错误的更改。       解决方案:        首先,必须了解对系统的配置主要包括machine.config和web.config两个部分,这两个文件本质上是Xml文件,包含了ASP.NET的所有配置信息。因此,对系统的配置,实际上是对Xml文件的操作,因此,我们可以采取对Xml文件的读写操作,来实现快速配置的思路。在此我们主要以web.config为例来说明,Web.config中的各个数据项表示的内容,不是探讨的重点,具体内容可以参考Msdn的说明。        实现的核心代码为:            private void btnOK_Click(object sender, System.EventArgs e)    {    //定义变量    string strLocation=txtLocation.Text;    string strProvider=txtProvider.Text;    string strMode=txtMode.Text;    string strUser=txtUser.Text;    string strDataSource=txtDataSource.Text;    string strPwd=txtPwd.Text;        string semicolon=”;”;   […]

Read the rest of this entry »

检测是否还有黑客代码的asp.net函数

查询是否还有黑客代码的asp.net函数,非常适合留言簿、bbs、聊天室 <%@ Page language=”vb”%> <script runat=”server”> dim heike(2) as string dim i as integer ‘定义黑客代码 public Sub heikeword(a as string) heike(0)=”1234″ heike(1)=”125″ dim re as System.Text.RegularExpressions.Regex for i=0 to 1 re=new System.Text.RegularExpressions.Regex(heike(i)) if(re.Match(a).Success) response.write (heike(i)+” “) response.write (“success”) end if next end sub </script> <% dim a as string=”1234345″ ‘就是要检测的内容 heikeword(a) %>

Read the rest of this entry »