|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
简单的说:.net只有微软一家在做的,微软也不允许别人跟他做相同的工具,所以他就把需要的工具全部封装在.net的平台上了;而net网页编程是公开了。在ASP.NET中,假如你利用了URL重写,经由过程HttpContext.Request猎取到的是重写后的地点。假如这个地点要前往给客户端(好比Redirect),我们一样平常但愿是重写前的友爱地点。
一般的利用场景是当我们有某个页面必要用户登录才干会见时,我们会在代码中判别以后会见用户是不是登录,假如未登录,则重定向至登录页面,并将以后网址经由过程Url参数传送给登录页面。假如利用了URL重写,并经由过程Request.Url.AbsoluteUri猎取以后网址,用户登录后翻开的就是重写后的地点,这固然不影响一般利用,但从用户体验及URL一致的角度,我们更但愿是重写前的地点。
之前,我们在开辟中也被这个成绩困扰,只能只管经由过程js重定向至登录页面(经由过程location.href猎取以后网址)大概在代码中手动写前往地点。
如今,我们找到懂得决办法,能够从Request.Headers中找到重写前的网址。
1)假如重写组件用的是ISAPI_Rewrite,则会见被重写的网址时,Headers中会增添一项数据:Key为X-Rewrite-URL,值为重写前的网址。
你所列的那些其实差不多都可以称为应用服务器(servlet应该说是一种语言更合适)net网页编程是开放的,相同的工具就会有很多公司在做,加上net网页编程已经发展了很多年了,因此这些工具就很多了。他们很多都是类似的。 |
|