验证码控件WebValidates的使用步骤如下:
1. 将验证码控件放入工具箱。(直接拖动DLL放到工具箱即可)
2. 拖放控件到页面相应位置。
3. 页面初始化时,编程生成验证码(假设验证码控件ID为snCode)。
snCode.Create();//首次加载生成新验证码
4. 编码对比用户的输入(假设用户输入验证码的文本框ID是txtCode),并做相应的处理。
snCode.CheckSN(txtCode.Text.Trim());//返回bool型的值.
示例代码:
Web页面:
Html代码
<cc1:SerialNumber ID="snCode" runat="server">
</cc1:SerialNumber>
<asp:Button ID="btnSubmit" runat="server" Height="31px" onclick="btnSubmit_Click" Text="提交验证" Width="124px" />
<asp:Label ID="lblMessage" runat="server"></asp:Label&g ......
验证码控件WebValidates的使用步骤如下:
1. 将验证码控件放入工具箱。(直接拖动DLL放到工具箱即可)
2. 拖放控件到页面相应位置。
3. 页面初始化时,编程生成验证码(假设验证码控件ID为snCode)。
snCode.Create();//首次加载生成新验证码
4. 编码对比用户的输入(假设用户输入验证码的文本框ID是txtCode),并做相应的处理。
snCode.CheckSN(txtCode.Text.Trim());//返回bool型的值.
示例代码:
Web页面:
Html代码
<cc1:SerialNumber ID="snCode" runat="server">
</cc1:SerialNumber>
<asp:Button ID="btnSubmit" runat="server" Height="31px" onclick="btnSubmit_Click" Text="提交验证" Width="124px" />
<asp:Label ID="lblMessage" runat="server"></asp:Label&g ......
其实对这方面一直掌握的不够熟练,属于半桶水那种类型—一知半解,所以这次重新这阅读了《asp.net 2.0技术内幕》对这块知识又有了新的认识。
在基于IIS的Web服务器上可以访问的所有资源按文件扩展名进行分组。然后把任何一个输入的请求分配给特定的运行时模块处理。ISAPI(Internet Server Application Programming Interface)扩展在 IIS的上下文中处理Web的资源的模块。它就是一个普通的旧式Win32动态链接库(DLL),提供了大量有预定义名称和原型的API函数,为开发人员提供了更加强大的对于IIS功能的扩展。IIS和 ISAPI扩展作为一种私有的通信协议使用这些DLL项。对一个资源的请求到达时,IIS首先验证资源类型。图像,文本文件,HTML页面和无脚本ASP页面等静态资源,由IIS直接解析。需要服务器端进行加工的资源被转到已注册的模块。例:.aspx文件就会分配给一个名为C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll的ISAPI扩展处理。
资源映射存储在IIS元库中。ASP.NET在安装时对IIS元库进行修改,确保aspnet_isappi.dll能处理某些典型的ASP.NET资源。(.asax,.ascx,ashx,asmx,aspx,axd等等)
IIS5.0进程模型
跟据该模型,当一个ht ......
先说我自己最笨的方法就是用Cookie!登陆时加一个userId在cookie里,然后删除文件重登时,如果session为空就取cookie去赋session!...如果大家不喜欢就用以下方法:
最简单的办法就是不要使用默认的方式也即
InProc(默认,进程内的会话状态):Session存储在IIS进程中(Web服务器内存)。如果使用的是Windows 2000 Server或Windows XP,IIS使用aspnet_wp.exe进程,如果使用的是Windows 2003 Server,IIS使用w3wp.exe。
InProc拥有最好的性能。但进程内Session很容易丢失Session信息。如果重启了应用程序,所有的Session信息就会丢失。而很多原因都会导致ASP.NET应用程序的重启。
修改了Web.Config或Global.asax文件,或改变了文件的修改日期。
修改了\bin或\App_Code目录里的文件。
防病毒软件修改了上述文件等等
你可以考虑以下两种方式
1、StateServer(进程外的会话状态):Session存储在独立的Windows服务进程aspnet_state.exe中
如果要启用StateServer中的Session状态,首先要在”控制面板”--“管理工具”--“服务”中,启用ASP.NET State Services(ASP.NET 状态服务),并将此服务设置为Auto ......
Web.Config 系统环境设置文件,相当于ASP的Global.asa文件
.aspx cs文件对应的前台设计文件
.asmx 制作Web Service的原始文件
.wsdl xml文件 用来描述Web Service
.cs C#代码文件 跟aspx对应的后台代码文件
.ascx 用户控件文件,可包含在多个.aspx文件中 ......
在VFS的支持下,用户态进程读写任何类型的文件系统都可以使用read和write着两个系统调用,但是在linux内核中没有这样的系统调用我们如何操作文件呢?我们知道read和write在进入内核态之后,实际执行的是sys_read和sys_write,但是查看内核源代码,发现这些操作文件的函数都没有导出(使用EXPORT_SYMBOL导出),也就是说在内核模块中是不能使用的,那如何是好?
通过查看sys_open的源码我们发现,其主要使用了do_filp_open()函数,该函数在fs/namei.c中,而在改文件中,filp_open函数也是调用了do_filp_open函数,并且接口和sys_open函数极为相似,调用参数也和sys_open一样,并且使用EXPORT_SYMBOL导出了,所以我们猜想该函数可以打开文件,功能和open一样。使用同样的查找方法,我们找出了一组在内核中操作文件的函数,如下:
功能
函数原型
打开文件
struct file *filp_open(const char *filename, int flags, int mode)
读取文件
ssize_t vfs_read(struct file *file, char __user *buf, size_t count, loff_t *pos)
写文件
ssize_t vfs_write(struct file *file, const char ......
linux启动流程:
系统预处理程序->GRUB (此阶段可以理解为bootloader阶段)
->kernel (此阶段为kernel)
->initrd->init启动->inittab->rc.sysinit->functions(PATH)->modules->rcX.d(读配置文件)
1.->字符模式->tty->bash
2.->图形模式->进入X Window->gdm->xorg->gdm login ->GNOMESession
此日志只作本人笔记备份,如有错误,恳请指教。 ......