仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 542|回复: 7
打印 上一主题 下一主题

[学习教程] ASP.NET网页设计ASP.NET利用UrlReWriter完成伪静态履历...

[复制链接]
不帅 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:29:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
也许唯一可以让世人留恋Java的理由就剩下它的王牌——跨平台。UrlRewriter是微软封装好了的一个URL重写组件。利用它可让我勤俭良多自已开辟的工夫。  好了,入手下手报告我的使用履历,这只是很菜鸟的履历,妙手就不必看了。
  第一步,请今后下载此组件。解压,把UrlRewriter.dllcopy到你的项目bin目次下。
  第二步,在Web.config中到场:
<?xmlversion="1.0"encoding="gb2312"?>
<configuration>
  <configSections>
     <sectionname="RewriterConfig"type="URLRewriter.Config.RewriterConfigSerializerSectionHandler,URLRewriter"/>
  </configSections>
  第二步,到场重写的划定规矩节点:
  如: 
 <RewriterConfig>
     <Rules>
       <RewriterRule>
         <LookFor>~/Sell/(.[0-9]*).html</LookFor>
         <SendTo>~/Search/Search_Sell.aspx?id={GetProperty(Content)}</SendTo>
       </RewriterRule>
       <RewriterRule>
         <LookFor>~/Sell/Search_Sell.aspx</LookFor>
         <SendTo>~/Search/Search_Sell.aspx</SendTo>
       </RewriterRule>
       <RewriterRule>
   <LookFor>~/Buy/(.[0-9]*).html</LookFor>
         <SendTo>~/Search/Search_Buy.aspx?id={GetProperty(Content)}</SendTo>
       </RewriterRule>
       <RewriterRule>
   <LookFor>~/Buys/(.[0-9]*).html</LookFor>
         <SendTo>~/Buys/Show.aspx?id={GetProperty(Content)}</SendTo>
       </RewriterRule>
     </Rules>
  </RewriterConfig>
  这个就要依据你的必要了,假如你对正则表达式不熟,那末没举措,要末依附你的高智商往找个中纪律,稍稍改一下就可以为你所用了。呵呵。假如其实弄不清,那就本人GOOGLE一下正则表达式吧。(自己入手下手是参考他人的设置猜的,居然用对了,呵呵。厥后仍是看了一下相干材料,发明这东东很有效。)
  第三步,到场模块设置(写在<system.web>内里):
  如:
<httpHandlers>
  <addverb="*"path="*.aspx"type="URLRewriter.RewriterFactoryHandler,URLRewriter"/>
 </httpHandlers>
  (这里暗示利用HTTP程序来处置重写)
  好了,到了如今我们能够试一下看。
  因而输出:http://127.0.0.1:8080/Sell/1.aspx呈现了,呵呵。可是假如所它改成:http://127.0.0.1:8080/Sell/1.html
  晕,发明不可。汗。。。
  呵呵,缘故原由是没把HTML的剖析用asp.net 的ISAPI来剖析。
  举措是。。。
  第四步,在IIS你的站点属性主目次设置映谢到场一个和aspx页面的设置不异的扩大名项。注重“确认文件是不是存在”不要勾选,不然会呈现找不到文件。
  如今再来碰运气。甚么?#¥%#¥%#,仍是不可。呵呵。不要急,我们回过火再来看看,本来在web.config中我们没有设置.html也利用模块此剖析。
  第五步,在模块设置中到场:
 <httpHandlers>
  <addverb="*"path="*.aspx"type="URLRewriter.RewriterFactoryHandler,URLRewriter"/>
  <addverb="*"path="*.html"type="URLRewriter.RewriterFactoryHandler,URLRewriter"/>
 </httpHandlers>
  如今总能够了吧,呵呵。终究看到了,镇静吧。不要急,这还只是最复杂的。假如你的页面有回传。好比说放了DATAGRID,有分页的,你点到下一页就发明,晕倒,又出成绩了。
  这下怎样办呢,这个实在微软件的网站上就有说到,我在这里简述一下了。
  第六步,到场窗体回传坚持的组件:
  在本来你下载的项目里找到ActionlessForm.dll放到你的项目bin目次下。
  然后在你的这个页面中到场:
<%@RegisterTagPrefix="skm"Namespace="ActionlessForm"Assembly="ActionlessForm"%>
再把你的<Form...>改成:
<skm:Formid="你的表单名"method="post"runat="server">
.....
</skm:Form>
  ThatsAll.如今你能够万事大吉了。统统如你所愿。
  最初,恭祝列位统统顺遂。
我以前很喜欢Serv-U,自从它用Java重写之后我就再也没用过,实在是太慢了,我宁可用IIS搭建FTP,虽然IIS搭建FTP在权限管理上很不灵活。
不帅 该用户已被删除
沙发
 楼主| 发表于 2015-1-19 14:46:00 | 只看该作者
ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象。
海妖 该用户已被删除
板凳
发表于 2015-1-25 09:18:19 | 只看该作者
代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
金色的骷髅 该用户已被删除
地板
发表于 2015-2-2 20:12:56 | 只看该作者
主流网站开发语言之PHPHP的全名非常有趣,它是一个巢状的缩写名称——“PHP:HypertextPreprocessor”,打开缩写还是缩写。PHP是一种HTML内嵌式的语言(就像上面讲的ASP那样)。而PHP独特的语法混合了C,Java,Perl以及PHP式的新语法。它可以比CGI或者Perl更快速地执行动态网页。
小魔女 该用户已被删除
5#
发表于 2015-2-8 04:55:52 | 只看该作者
ASP是把代码交给VBScript解释器或Jscript解释器来解释,当然速度没有编译过的程序快了。
乐观 该用户已被删除
6#
发表于 2015-2-24 06:44:49 | 只看该作者
Servlet的形式和前面讲的CGI差不多,它是HTML代码和后台程序分开的。它们的启动原理也差不多,都是服务器接到客户端的请求后,进行应答。不同的是,CGI对每个客户请求都打开一个进程(Process)。
分手快乐 该用户已被删除
7#
发表于 2015-3-7 11:52:38 | 只看该作者
代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
因胸联盟 该用户已被删除
8#
发表于 2015-3-21 18:03:09 | 只看该作者
由于CGI程序每响应一个客户就会打开一个新的进程,所以,当有多个用户同时进行CGI请求的时候,服务器就会打开多个进程,这样就加重了服务器的负担,使服务器的执行效率变得越来越低下。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-24 02:39

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表