易截截图软件、单文件、免安装、纯绿色、仅160KB

Asp.net 用url重写(URLReWriter)实现任意二级域名

来找这篇文章的,应该都知道什么叫二级域名吧,废话就不说了.但是讨论前,先要明白一个思想问题.
很多朋友一直考虑不清(我前几天也一直搞不明白)的问题是,我键入一个地址后,怎么这个url就被重写了?
第一步:在浏览器键入了一个地址,比如http://love.kerry.com,点回车后,都发生了什么?
为了把问题简单化,我来这样解释:
第二步:首先,键入的地址被解析,最终来到了一台web服务器.交给IIS处理.在.net的世界中,IIS会把这样的请求再交给一个web处理器 处理,最后,该 web处理器 把处理的结果返回给浏览器,显示给用户看.
请不用忽略这样一个问题,第二步的所有事情都是在服务器端做的.在这些事情进行的时候,用户端的浏览器上面的地址不会改变.即使最后 web处理器 把处理结果返回来的时候,上面的地址也不会改变.
一开始键入的url,只是起一个敲门的作用,门敲完了,作用就算结束了,只有你的眼睛可以看到那个地址,浏览器,服务器等都不知道这个地址.
然后要明白的问题是,所谓url重写,也只是web开发人员知道的内幕情况,用户根本不知道发生了什么,他认为自己键入的地址就是应该出来屏幕上显示的结果.也就是说,我们在幕后控制要显示的内容.
接下来要考虑的是,怎么样控制显示的内容?
从上面说的过程,很明显要在 web处理器 的工作这一步动手脚.
一个最简单的考虑是,用户敲入了一个简单的不带任何参数地址, http://love.kerry.com然后我们把这个地址改成一个符合程序需要的带参数的地址, http://kerry.com?lover=notus,最后处理之.
所谓的url重写,就是在这一步.
用.net的术语来说,我们需要给应用程序注册一个httpmodule,用来处理特定的url
注册httpmodule,在web.config,
处理url,在我们提供的httpmodule程序中
大体相当于这样的一段程序
//用我们的httpmodule程序截获原始url
String OriginalUrl=” http://love.kerry.com”;
//处理原始url,得到最后需要的url,值为http://kerry.com?lover=notus
String FinalUrl=Rewrite(OriginalUrl);
// context重新将url在内部发送给IIS处理
context.RewritePath(FinalUrl);
接下来,我们来实现url重写.
第一步:确定要对哪些url执行重写,即制定重写规则
第二步:编写httpmodule处理程序
第三步:将编写的httpmodule整合入web程序,开始工作.
上面就是url重写的基本知识,而用url重写实现二级域名,过程一样.因为无论是二级域名还是三级域名,都是一个url地址.只要我们截获这个url地址,就可以在处理的时候动手脚.


相关文档:

从数据库导出数据到word、excel、.txt _asp.net技巧

 
转自http://martinyang2010.bokee.com/2598999.html
using System;
using System.Data;
using System.Drawing;
using System.Data.SqlClient;
using Excel;
using Word;
using System.IO;
namespace Common
{
/// <summary>
/// 把数据导入到.doc、.txt、.xls文件中
/// </summary>
publi ......

ASP.Net超时时间

解决办法
1.在代码里面,把未关闭的连接关闭
2.扩大共享池,方法如下:
解决方法可以是修改连接池的连接生存期,因为默认值是60秒,即连接从应用程序被释放后可以在池中保存的时间。
具体操作步骤如下:
如果是ODBC的话,则可以在ODBC Data Source Administrator中手动更改,该程序位于“Start”菜单中的“P ......

实现从弹出窗口中选择值 (asp.net C#)

在Asp.net中,从A页面中弹出B页面,在B页面中选择数据后,关闭并将数据更新到A页面,是一种常用的方式。只是我对Javascript不熟悉,所以捣鼓了一下午,终于有了一点成绩。
  测试项目有两个页面:Default.aspx及Default2.aspx,在Default.aspx页面上有一个TextBox1及一个Button1,Button1用于触发Default2.aspx,TextBox ......

ASP.NET跨页面传值技巧总结

关于页面传值的方法,引发了很多讨论。看来有很多人关注这个,我就我个人观点做了些总结,希望对大家有所帮助。
1.  使用QueryString变量
QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中。如果是传递一个或多个安全性要求不高或是结构简单的数值时,可以使用这个方法。但是对于传递 ......

asp.net的常用代码

 
0.用session判断是否登陆
if(Session["login"] == null)
   {
    Response.Redirect("error.aspx");
   }
1. 打开新的窗口并传送参数:
传送参数:
response.write("<script>window.open('*.aspx?id="+this.DropDownList1.SelectIndex+"&id1="+...+"')</s ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号