利用asp.net做网页的时候老是出现这个问题,有大神帮忙ps可以帮忙点一下吗?就是它总是不能自动算出结果

请教一下,用asp.net做纯b/s结构的ERP系统可行么? -企业开发- TryCatch
>> Content
请教一下,用asp.net做纯b/s结构的ERP系统可行么?
我们导师让我们做一个b/s版的ERP系统,用C#做,我想只能用asp.net,但我上网查一些资料,b/s版的ERP系统很少,几乎没有找到,我分析有以下原因:一是b/s的安全性,二是b/s结构在输入大量数据的时候比较麻烦,三就是制作b/s结构的报表比较麻烦。我想尝试一下,请教各位,不知道可不可行。1.安全性我暂时先不考虑,因为不是具体应用,只是想做一个小型的制造业的ERP系统。2.报表我想用微软新推出的report&services,不知道可不可行3.我们一共有9个人,一人一个模块,都是新手,以前没有接触过asp.net,只能边学边做,数据库用sql&server2000,用半年到一年的时间做一个小型的erp系统,根据一个用access做的erp系统单机学习版做。我以前没做过erp系统,没有这方面的建议,以上是我的一些想法,请各位不吝赐教,给我一些建议。有谁做过b/s结构的erp系统,有这方面经验给我介绍介绍。我的qq是。
------Solutions------
首先,你会什么;其次,ERP不是会程序就行,管理也要一起跟上,你会了不一定企业会;再次,要负责,做到一半,做不下去了,拍拍屁股走的不少;再再次,请参考移动/网通的业务支撑系统,应该是ASP吧
------Solutions------
我觉得你们导师要先学习学习一下,否则是误人子弟,带坏学生。B/S结构不适合做大型复杂的企业应用,对于处理复杂业务逻辑非常费力,对于精确的键盘鼠标用户界面控制也很费力,而这些都是一个企业信息系统所必须的,B/S结构本身的局限性不可能完成这个任务,究其根底,还是浏览器本身对于这方面的支持太弱,除非有真正的网络操作系统出现。&&&&现在市面上也有一些号称是B/S结构的ERP系统,但是其实不过是把IE当做主控台而已,实际上第一次运行的时候还是暗地里下载了一个本地的庞大的客户端,弹出的窗口还是GUI方式的。&&&&微软不过是给大家许诺了一个竞选时的诺言而已,你要是真的相信用ASP.NET能做出B/S结构的ERP系统,那会冤死的。当然,小打小闹,糊弄一下你们的导师也许还可以。在学校里大多是这样,做一点面子上的功夫,通过答辩就可以了,肯定不会要求在实际应用中要求达到的工业强度。所以从这个方面来说,你们随便玩。&&&&现在的趋势是SmartClient,SUN的Web&Start有些意思。也许你们可以考虑一下J2EE架构。
------Solutions------
------Solutions------
------Solutions------
可以做出来,但是这个是无法进行工业应用的如果是应付论文还可以!SmartClient不错
------Solutions------
------Solutions------
可行。很方便。至于事件驱动方式、访Windows界面方式,不是不能做,而是很多号称懂.net的人根本只懂最基本的aspx中的一点启动代码,而不懂服务器控件乃至大型应用组件系统,因此不足为信。
------Solutions------
使用.net技术写Web应用程序界面,几乎每个UI部件都要用到以下基本概念:INamingContainer接口IPostBackEventHandler接口Attribute类Serialized属性或者类以及内存中重建业务对象的特殊实例化方法ViewState的保存、恢复机制(也就是页面的7个主要的事件的触发顺序)DataBind(为什么ClearViewState?)HTMLWriter干什么?等等。这些东西其实很简单,而且是写web应用界面所必须的,但是市面上的书籍或者培训几乎都是快餐食品模式。至于安全性,最简可以考虑https通讯,这几乎是一分钟就可以搞定的事。复杂一点可以将应用程序运行在VPN上,这样只有内部用户可以看到你的站点同时又能保持程序与目前通讯水平的平衡(一些软件爱好者竟然认为基于局域网的产品可以运行在VPN之上,这是不可行的,因为局域网与互联网速度有500倍差,并且互联网实际上是“时通时断”的需要更加可靠的的状态保持技术的)。我用随net附带的水晶报表。它只需要拷贝到服务器上一个目录就行了(当然使用打包安装程序也可以),可以在web页面上夺页浏览、全文检索、缩放、分组逐级深化察看内容,还能精确地转化为Word、Excel、PDF等格式的报表供用户下载到浏览器端。9人一人一个模块???看来你们没有学过软件工程,也没有任何哪怕是小型商业软件的开发的概念。如果你是学软件的,那么你的导师确实不怎么样。在我的经验中,你所说的那种“模块”往往是一两天开发一个而不是你认为的一个人要干上一年多。你不知道重点在哪里!我举个例子:如果你开发了一个仿电子表格方式编辑数据记录的组件,这个组件开发事件可能需要40天,然后么将100种业务的录入编辑修改功能从没有变成完全实现仅需要半天时间――找一种菜单或者内容管理或者工作流或者其他什么类似胶水一样引擎。
------Solutions------
如果只是学校应付课题鉴定需要,那应该没有问题,不过我的感觉是如果进行商业应用却有很大问题。
------Solutions------
可以的,ERP涉及的范围很广,但是最后都需要将组与模块,子系统与总系统集成.另外,千万别忽视财务部分.比较棘手的.呵呵
------Solutions------
我记得我们学校有个项目用PHP做的ERP用了三届的毕业生,才把它搞的有模有样的!
------Solutions------
------Solutions------
ASPNET不可能作ERP,包括JAVA也是不行了,作点简单的ERP还可以,如果是要作功能强大的ERP是不行的,首先ERP中对数据库要进行频繁的交流,速度将成问题,如果INTER网能象局域网一样快的话,根本就不用ASPNET,JAVA之类的东西了,富客户将成为主流,现在富客户端也能在线升级了,只是不成熟吧了,如上面说的SMARTCLIENT
------Solutions------
JAVA也能做富客户啊
------Solutions------
我们就用ASP.NET做小型企业ERP.用的是水晶报表。
------Solutions------
技术上可行,但建议不要采用这种模式。我们有一套B/S的系统,感觉采用Smart&Client模式更为可取。主要原因是,&B/S的界面确实容易做的漂亮一些,但是作为业务工具,操作起来不如C/S的顺手。如果硬要采用客户段脚本(JavaScript)+DHTML做的一操作一些,开发的代价太高了,有些操作甚至不可能实现。如果客户对B/S特别提出要求,建议非业务模块(统计查询之类的)可以做成B/S形式,业务部分还是C/S或者Smart&Client比较合适。
------Solutions------
楼上的说得不错,纯粹的B/S,肯定是不行的数据量这一关你就过不去
------Solutions------
技术成熟,什么系统b/s都可以做。
------Solutions------
TO楼主:我一直是做CS的ERP,但我对你们的项目有些兴趣,不介意的话也可以交流一下,我的MSN:TOsp1234()&:难道高手讲话的口气都是这样子吗?呵呵
------Solutions------
自己说自己是高手....受不了
------Solutions------
楼上说这些话的有几个真正做过ERP?
------Solutions------
这是可以的,我们给别人做的系统就是C#和asp.net,但其中大量的运用了javascript来实现客户端的一些操作,整个过程模仿C/S架构。但是做B/S有一点是必须的,就是不能显示全部数据,大数据量要分页显示,一般在20条左右比较合适。如果有什么疑惑可以邮件交流
------Solutions------
报表我想用微软新推出的report&services就是水晶报表,基本上都能实现,只是画报表比较累,喜欢的话可以慢慢画,没办法,像样的B/S报表不多
------Solutions------
sp1234()&------------------------呵呵,学校老师也不会啊确实,现在大学的老师连纸上谈兵这点水准都没有,真的会误人子弟的,也许基础知识很扎实,但到应用就不行了.在校的兄弟们最好自己找正确的方向,免得毕业了很迷茫!
------Solutions------
做小规模的系统还是可行的,具体还是要考虑他的应用价值!
------Solutions------
to:&zjh135(aaa)&你说的可能不对呀,java你用过多少?
------Solutions------
报表我想用微软新推出的report&services就是水晶报表&&&&&&&&&&&&&&&&&&&&&&&~~~~~~~~~~~~~~~~~~~~~~~~~~~~~report&services==水晶报表?
------Solutions------
sp1234说的挺好的.
------Solutions------
界面过于复杂的,还有报表也要考虑的,可能这部分要用C/S做吧
------Solutions------
oracle的ERP和CRM都是B/S构架的,基于J2EE,强得没话说。
------Solutions------
ERP不是70%是管理知识,30%才是技术
------Solutions------
ERP是70%是管理知识,30%才是技术
------Solutions------
很奇怪,为什么好多人说“B/S结构不适合做大型复杂的企业应用”???――对于处理复杂业务逻辑非常费力?显得老态的ASP都能用COM+解决这一难题,别说是ASP.NET了。――对于精确的键盘鼠标用户界面控制也很费力对于“精确”两字实在是看不懂。TO楼主:用ASP.NET+C#做肯定能行。
------Solutions------
不知道。半年没弄.NET了。
------Solutions------
鬏}? 或者是防火? 一下SOAP
------Solutions------
ASP.Net的用界面容易做好.但是与用户交互就不是那么容易了.还有,就是大数据量录入就没法做了另外:过多的JS代码会影响用户性能
------Solutions------
抽时间帮我测试这个小程序,找到30个UI方面的BUG我送你源代码学习。同一组件在不同地方复用从而重复出现BUG不算。这很容易看出来:假如&HTML文本在线编辑器不能修改文字颜色,那么在各个页面上都会出现同样BUG,这就只能算一个BUG。这个小程序没有一个页面是手写的,全都是自动生成界面的,因此复用性很高,具有很高的学习价值。http://cmda618.vicp.net/w2cmshttp://cmda618.gnway.net/w2cms
------Solutions------
------Solutions------
为什么BS结构不行?我现在就是真在搞这种结构的ERP,C#+ASPNET+SQL2000&,技术上根本不存在任何问题,问题是在你对企业和企业业务流程的熟知程度,纸上空谈是不行的
------Solutions------
请教国内的ERP成功率有多高?&恐怕10%都不到吧。
------Solutions------
ms的NET还没有这个水平让B/S胜利如此大的重任,ERP要求的功能较多,业务罗辑较复杂,只有C/S下的ERP是成熟的,不过MS在开发SMARTCLIENT,其目的就是想让C/S的强大功能与B/S的的易布署结合,等着吧,以后会有B/S实现象现在C/S实现的强大功能,速度也和现在的C/S一样的快,我们希望....
------Solutions------
我的一点意见:ERP首先不是技术的而是业务的,如果业务上、工作流、业务流等等能过了关,技术上应该不会有什么问题,就算有问题也是可以解决的。reporting&services!=水晶报表。这个东西的确是个报表利器!
------Solutions------
靠,都是高手!
------Solutions------
哈哈,金蝶03年的时候就是用ASP.NET来开发ERP的吧,最后还不是不了了之
------Solutions------
学到不少!UP
------Solutions------
其实~ERP除非系统,还有一个理念在里面,讲的是大部份是管理方面的东西。做是做得,只要是看做得怎么样。给客户的好处是什么吗?无论是B/S还是C/S其实都是可以实现的,主要是看用什么方法去实现比较好,成本低效益高。最能切入实际。如果做ERP不是以理念为主,竟然是实现的语言为主,是不是有点不切全实际了。有点跑题了吧。这些管理上的东西,讲的是实际,不像读书时老师给你一道题然后你就怎么样精算法高,就是做得好。有点脱离实际。&软件其实是一个体。&意不在其本身。不要太在这方面注重。技术永远第二,客户需求永远第一。。。。。
------Solutions------
------Solutions------
个人有个人的角度,特别是像ERP这种像“吃维生素可以治百病”的概念,个人站在各自不同的角度上去说的,比如学生的角度。如果只调别人的概念毛病,而连自己都拿不出切实可行的东西来做示例,那么这种批评是有八九只是响当当的貌似专业的外行议论。
------Solutions------
学到不少!UP
------Solutions------
理论上可以,但实际要遇到很多具体的问题。asp.net如何让一段代码每天只执行一次
来源:博客园
【我做的系统中有一段代码我想让他每天只执行一次,请问各位有什么好的解决方案提供一下。谢谢了!】
最好是搞一个XML文件,每执行一次,把当前执行的时间保存到XML文件中,下次执行的时候,把这个时间从XML取出来,跟当前时间比较,是否过了一天,如果是再执行,再保存。因为你如果通过全局变量来做,可能会因为IIS的资源回收等会被重新初始化
数据库中记下来,,今天,他执行过了吗。
放一个变量记录执行这段代码的时间戳。
  判断时间戳
执行 -- 更新时间戳
给个线程啊.运行一下sleep 24H
或给出个全局变量 ,datetime类型的.给出,这段代码的运行时间,如果在同一天,就跳过.
Jeffrey Zhao:
别用asp.net做这些事情。
Asp.net 干不了这个,如果只和数据库有关,可以放到数据库的Job里,如果比较复杂可以写一个Windows Service,不难,Google大神一下
貌似会休眠,还不如用计划任务
James.Ying:
计划任务- -
写个计划任务,最好不要在ASP.NET中使用这些东西。把业务逻辑分清楚
免责声明:本站部分内容、图片、文字、视频等来自于互联网,仅供大家学习与交流。相关内容如涉嫌侵犯您的知识产权或其他合法权益,请向本站发送有效通知,我们会及时处理。反馈邮箱&&&&。
学生服务号
在线咨询,奖学金返现,名师点评,等你来互动21904人阅读
.NET(12)
&方法一:利用Httphandler实现URL重写(伪URL及伪静态)
我们有时候会见到这样的地址:“/show-12-34.html”,你或许认为在站点服务器根目录“/”下存在名为“show-12-34.html”的文件,其实实际它可能是不存在的,而可能你看到的内容是“/aspx/show.aspx?type= 12&id=34”的内容,为什么要这样做呢?原因有多个方面:首先是增强URL的友好性,记“show-12-34.html”总比 “/aspx/show.aspx?type=12&id=34”好记吧?其次就是方便搜索引擎收录,很多搜索引擎更看好静态HTML页,比如:百度;其次就是出于安全性的考虑,因为这样隐藏了参数“type”、“id”。是不是很有意思呢?
其实这是利用URL重写实现的,下面我就说一下在ASP.NET2.0下我所知道的最简单的实现方法:通过实现接口“IHttpHandler”来接管HTTP请求,Follow me!
1.在资源管理方案中添加一个类,类的代码如下:
//类URLRewriter程序清单:
using System.D
using System.C
using System.W
using System.Web.S
using System.Web.UI;
using System.Web.UI.WebC
using System.Web.UI.WebControls.WebP
using System.Web.UI.HtmlC
/// &summary&
/// UrlRewriter URL重写类
/// Author:yoyo
/// &/summary&
public class UrlRewriter : IHttpHandler //实现“IHttpHandler”接口
public UrlRewriter()
// TODO: 在此处添加构造函数逻辑
public void ProcessRequest(HttpContext Context)
//取得原始URL屏蔽掉参数
string Url = Context.Request.RawU
//建立正则表达式
System.Text.RegularExpressions.Regex Reg = new System.Text.RegularExpressions.Regex
(@&/show-(\d+)-(\d+)\..+&,System.Text.RegularExpressions.RegexOptions.IgnoreCase);
//用正则表达式进行匹配
System.Text.RegularExpressions.Match m =
Reg.Match(Url,Url.LastIndexOf(&/&));//从最后一个“/”开始匹配
if (m.Success)//匹配成功
String RealPath =
@&~/aspx/show.aspx?type=& + m.Groups[1] + &&id=& + m.Groups[2];
//Context.Response.Write(RealPath);
//Context.RewritePath(RealPath);//(RewritePath 用在无 Cookie 会话状态中。)
Context.Server.Execute(RealPath);
Context.Response.Redirect(Context.Request.Url.ToString());
Context.Response.Redirect(Context.Request.Url.ToString());
/// &summary&
/// 实现“IHttpHandler”接口所必须的成员
/// &/summary&
/// &value&&/value&
/// Author:yoyo
public bool IsReusable
2.在web.config文件还要添加一下设置项
在&system.web&节点下添加如下代码:
&httpHandlers&
&add verb=&*& path=&*/show-?*-?*.aspx& type=&UrlRewriter& /&
&/httpHandlers&
解释一下:
verb是指允许的动作“GET”、“POST”、“PUT”中的一种或几种,星号“*”表示全部允许;
path是指匹配路径,支持简单的通配符;
type是指绑定的类名以及包括命名空间(如果有的话);
对了,首先你要建立一个WEB窗体“show.aspx”在目录“aspx”下,因为这个文件就是实际接受请求并显示相关内容的页面。
OK!,编译,打开网站输入地址http://localhost:80/show-12-34.aspx 访问一下,检查看是不是显示的“/aspx/show.aspx?type=12&id=34”的内容呢?!
上面我是设置了匹配ASPX文件,因为IIS里.HTML扩展名默认是不归ASP.NET接管的,如果要接管HTML请求,
请将IIS的扩展名.HTML映射到“C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll”,
然后将上面的aspx改成html:
&httpHandlers&
&add verb=&*& path=&*/show-?*-?*.html& type=&UrlRewriter& /&
&/httpHandlers&
现在打开网站输入地址http://localhost:80/show-12-34.html 访问一下~!
方法二:地址重写、使用伪静态、页面回发处理
制作网站页面的时候,有时候为了用户的体验和搜索引擎的收录,很多网站经常使用伪静态地址重写,或者称为 URL地址重写的办法,来将诸如:MyEbook.aspx?ID=1,MyEbook.aspx?ID=2MyEbook.aspx?ID=3等带有参 数的动态页面伪装成为一个静态页面,比如,将以上的伪装成为My1.html,My2.html,My3.html等等诸如此类!
&&&&&&& 出发点是很好的,不仅有利于用户体验,也有利于收录,实在是一举两得!
&&&&&&&& 好处已讲,现在来谈谈使用这种办法所存在的毛病,问题就在于,当你使用伪静态技术的页面有按钮,需要提交内容时,这个时候,一旦与服务器之间有回发动作, 那么,地址栏里面显示的网页地址就不再是伪装出来的My1.html,My2.html,My3.html等等拉,而是变为MyEbook.aspx? ID=1,MyEbook.aspx?ID=2MyEbook.aspx?ID=3等等洛,如此一来,会让不太懂网页制作的网友感到不安,他们会认为自己 在上一个骗子网站,认为自己提交的数据都被另外一个网站给偷走了,总之,给他们的感觉就是,这样的网站具有欺骗性质;很可能,以后他们再也不敢上你的网站
了!!!………
&&&&& 下面本人就个人解决如上问题的心得体会做如下说明,希望能够帮助广大网友解决问题!
&&&&&& 解决如上问题,有很多种办法,有使用Javascript禁止回发,有将页面的
改为等等多种方法,反正能改的地方,都有人使用过了,并且,这样的文章比较多,但是难以实现,就本人脾气而已,更喜欢直接了当的办法,尽量少改地方,免得日后出错麻烦;
&&&&& 第一步:打开你的网站下面,新建一个类,文件名称大体如此:MyActionlessform.cs
&&&&& 第二步:该类的代码如下:
using System.IO;
using System.W
using System.Web.UI;
namespace MyURL
public class MyOLPage : Page
public MyOLPage()
protected override void Render(HtmlTextWriter writer)
if (writer is System.Web.UI.Html32TextWriter)
writer = new FormFixerHtml32TextWriter(writer.InnerWriter);
writer = new FormFixerHtmlTextWriter(writer.InnerWriter);
base.Render(writer);
internal class FormFixerHtml32TextWriter : System.Web.UI.Html32TextWriter
private string _ // 伪装的URL
internal FormFixerHtml32TextWriter(TextWriter writer)
: base(writer)
_url = HttpContext.Current.Request.RawU
public override void WriteAttribute(string name, string value, bool encode)
if (_url != null && pare(name, &action&, true) == 0)
base.WriteAttribute(name, value, encode);
internal class FormFixerHtmlTextWriter : System.Web.UI.HtmlTextWriter
private string _
internal FormFixerHtmlTextWriter(TextWriter writer)
: base(writer)
_url = HttpContext.Current.Request.RawU
public override void WriteAttribute(string name, string value, bool encode)
if (_url != null && pare(name, &action&, true) == 0)
base.WriteAttribute(name, value, encode);
之后,将这个类文件编译成为MyActionlessform.dll文件,并在网站的项目中引用他,
第三步:打开具有回发操作的页面,将其中的:System.Web.UI.Page更改为: MyURL.MyOLPage,如此而已,一劳永逸了,以后不再担心回发暴露真实地址吓走网友拉!
至此,大功可成一半多一点,接下来问题又来了,什么问题呢,你运行一下你的网站,是不是出现如下错误呀!
CS0433: 类型“MyURL.MyOLPage”同时存在于“c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\ Temporary ASP.NET Files\schoolit\3266aab1\aca2fc74\App_Code.2-69spm5.dll”和“c:\WINDOWS\ Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\schoolit\3266aab1\aca2fc74\assembly\dl3\4d107fc6\00b753fe_ea19c801\
MyActionlessform.DLL”中
大体就是这样的错误了,针对这样的错误,有很多解决办法,有的地方说,删除临时使用的文件夹,删除某个命名 空间等等操作,俺都试过了,但是百试不得其果,后来俺就自己想想,出现这样的错误无非就是两个文件同时存在,但是又不能重复使用,解决办法那还不简单,停 用一个,只使用一个就行了嘛
&&&&&& 上面的,我们不是建立了一个MyActionlessform.cs了吗,它存在App_Code这个文件夹里面,另外一个是 MyActionlessform.dll,两个文件内容完全一样,做好了,我们就不需要MyActionlessform.cs了,我们只需要 MyActionlessform.dll,那么,想方设法将前者弄走不就得了(本人建议将此文件排除项目,不提倡直接删除该文件,因为以后可能使用 到),本人做法是,在项目中直接排出MyActionlessform.cs文件,经过测试,大功至此已结束!!!!
方法三:利用Mircosoft URLRewriter.dll实现页面伪静态
昨天,转贴了一篇利用ISAPI筛选器来实现URL伪静态的文章,我按照文章上的内容做,可是没有做出来,目前看来,该方法没有使用Microsoft URLRewriter.dll这个方法好,至少我个人觉得,花了一个晚上的时间,终于研究出来了怎么利用这个dll文件来对asp.net页面实现静态 化了,其实很简单。
一,获得Mircosoft URLRewriter.dll:
获得Mircosoft URLRewriter.dll可以到/china/msdn/library/webservices/asp.net/URLRewriting.mspx?mfr=true
这里,选择[],下载完毕后,导入工程,我这里没有对该工程做任何修改,保留了原来的重写方式,然后直接在VS2005里面生成.dll文件就可以了。
二,使用该dll文件:
添加引用,搞定。
三,页面方面的设计,这里不在赘述了,我会放一个下载包,有兴趣的朋友下载来看看吧,代码写的比较乱。
四,web.config的配置
这部是非常关键的,也是静态化能否成功的关键。
&?xml version=&1.0&?&
&configuration&
&configSections&
&section name=&RewriterConfig& type=&URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter& /&
&/configSections&
&RewriterConfig&
&RewriterRule&
&LookFor&~/web/new/type/(.[0-9]*)\.html&/LookFor&
&SendTo&~/web/new.aspx?id=$1&/SendTo&
&/RewriterRule&
&RewriterRule&
&LookFor&~/web/index.html&/LookFor&
&SendTo&~/web/index.aspx&/SendTo&
&/RewriterRule&
&/RewriterConfig&
&system.web&
&httpHandlers&
&add verb=&*& path=&*.aspx& type=&URLRewriter.RewriterFactoryHandler, URLRewriter& /&
&add verb=&*& path=&*.html& type=&URLRewriter.RewriterFactoryHandler, URLRewriter& /&
&/httpHandlers&
&compilation debug=&true&/&&/system.web&
&/configuration&
这里简单介绍一下:
&RewriterConfig&
&RewriterRule&
&LookFor&要查找的模式&/LookFor&
&SendTo&要用来替换模式的字符串&/SendTo&
&/RewriterRule&
&RewriterRule&
&LookFor&要查找的模式&/LookFor&
&SendTo&要用来替换模式的字符串&/SendTo&
&/RewriterRule&
&/RewriterConfig&
httpHandlers的设置主要是配合IIS将请求重新定义处理,这里也比较关键,如果不存在合理的httpHandlers,那么,访问肯定会失败的。
关于正则表达式,可以到百度里搜索:&常用正则表达式&,会有很多。
五.配置IIS解析.html文件
右键点我的电脑--&管理--&展开'服务和应用程序'--&internet信息服务--&找到你共享的目录--&右键 点击属性 --&点击'配置'--&映射下面 --&找到.aspx的可执行文件路径 复制路径--&粘贴路径--&扩展名为&.html&--&然后把检查文件是否存在的勾去掉这样就可以了,如果遇到“确定”按钮失效, 可以用键盘事件编辑路径即可解决。
本文实例下载:
asp.net伪静态页面生成方法 (续)
大家对伪静态(URL重写)有什么看法?
以.aspx\.asp\.php结尾的页伪静态为以.htm或者.html结尾的页有什么看法,性能会得到提高吗,有什么好处?
那么或者直接生成静态页面又有什么好处,是否推荐在一个网站大量使用呢?
对于腾讯那样的大的门户网站他们的新闻页是生成的静态页呢或者是伪装的?
最佳答案:
运行PHP,ASP.NET,JSP,ColdFusion的网页服务器(如IIS,Apache),大多可以用URL Rewriting来实现隐藏或改变拓展名。大网站,象腾讯,百度(用PHP),都在用URL Rewriting的方法来把拓展名隐藏或改变。好处有几点:
1. 搜索引擎比较喜欢.html,.htm的(与.jsp,.php,.aspx,.cff相比),因为.html, .htm是静态的,更容易让引擎了解你网页的内容。而动态网页的内容是根据用户,来输出不同的内容,不容易让引擎吸收具体HTML内容。
2. 如果不用URL Rewriting将拓展名隐藏或改成.html,那么假如这个网站要换个技术或把动态页面换成静态,则需要寻找所有含有拓展名的连接,把连接所含URL进行拓展名修改(如从JSP换到PHP技术,则要寻找所有含有.jsp的页面,并把所有含.jsp的URL改成.php,费时费力)。URL Rewriting正好避免了这点,因为好的URL是能做到“不变应完变”的。
3. 防止某些黑客恶意攻击。有些大网站采用不同的技术开发不同功能的页面。而把拓展名改掉,让黑客无法确认此页面用的技术是什么,从而就无从下手。
4. 方便访问者使用。访问者不是程序员,他们不明白什么是.jsp,.php.aspx,他们只知道URL。所以统一把拓展名拿掉,或者同意把拓展名换为html,htm,有利于用户的使用。用户可以知道现在在你网站的位置,如何通过输入URL到某一页面。
Intelligencia.UrlRewriter.dll aspx重写为html实例
1、http://urlrewriter.net/&& 下载解压缩后把Intelligencia.UrlRewriter.dll 文件添加引用到web工程里。
2.web.config配置:
&configSections&
&!--UrlRewriter--&
&section name=&rewriter& requirePermission=&false& type=&Intelligencia.UrlRewriter.Configuration.RewriterConfigurationSectionHandler, Intelligencia.UrlRewriter& /&
&/configSections&
&system.web&
&!--UrlRewriter--&
&httpModules&
&add type=&Intelligencia.UrlRewriter.RewriterHttpModule,Intelligencia.UrlRewriter& name=&UrlRewriter& /&
&/httpModules&
&/system.web&
&/system.web&
&!--UrlRewriter--&
&rewriter&
&rewrite url=&~/test_([a-zA-Z]+).html{1} to=&~/Show.aspx?Code=$1& processing=&stop& /&
&/rewriter&
其中: &rewrite url=&~/test_([a-zA-Z]+).html$& to=&~/Show.aspx?Code=$1& processing=&stop& /&
若果code= abc的话,最终显示的结果为&虚拟目录名称/test_abc.html& 。如果吧.html替换成 .aspx那就是&虚拟目录名称/test_abc.aspx&
3.IIS配置:
如果是用&虚拟目录名称/test_abc.aspx& 的话,不需要配置IIS. 使用了&虚拟目录名称/test_abc.html& 配置IIS的方法如下:
http://urlrewriter.net/index.php/support/installation/windows-server-2003/ 里面的图9不准确,准确的为:
还有第八步中的”untick Verify that file exists.“要看仔细。否则重写HTML就无效。
不要在&应用程序扩展&里“添加& .html的映射,否则正常的html将无法访问。
5.在vs2005中,传多个参数应该加&在vs2003中,只用分号就好了
&RewriterConfig&
&RewriterRule&
&!--CreditNews BackGround update--&
&LookFor&~NewsClsManage-(\d*)-(\d*).html&/LookFor&
&SendTo&~NewsClsManage.aspx?ClassID=$1&flag=$2&/SendTo&
&/RewriterRule&
&/RewriterConfig&
asp.net伪静态页面生成方法 (续二)
&?xml&version=&1.0&&encoding=&utf-8&&?&
&configuration&
&&&&&&&&&configSections&
&&&&&&&&&section&name=&RewriterConfig&&type=&URLRewriter.Config.RewriterConfigSerializerSectionHandler,&URLRewriter&&/&
&&&&&/configSections&
&&&&&RewriterConfig&
&&&&&&&&&Rules&
&&&&&&&&&&&&&!--&Rules&for&Blog&Content&Displayer&--&
&&&&&&&&&&&&&&&&&RewriterRule&
&&&&&&&&&&&&&&&&&&&&&LookFor&~/read(.[0-9]*)\.html&/LookFor&
&&&&&&&&&&&&&&&&&&&&&SendTo&~/WebForm1.aspx?UserID=$1&&ndTo&
&&&&&&&&&&&&&&&&&/RewriterRule&
&&&&&&&&&/Rules&
&&&&&/RewriterConfig&
&&&&&appSettings&
&&&&&&&&&add&key=&dbType&&value&=&sql&&&/add&
&&&&&&&&&add&key=&data&&value=&server=.;uid=pwd=database=Connect&Timeout=30;&&&/add&
&&&&&/appSettings&
&&&system.web&
&&&&&httpHandlers&
&&&&&&&&&add&verb=&*&&path=&*.aspx&&type=&URLRewriter.RewriterFactoryHandler,&URLRewriter&&/&
&&&&&&add&verb=&*&&path=&*.html&&type=&URLRewriter.RewriterFactoryHandler,&URLRewriter&&/&
&&&&&/httpHandlers&
&&&&&&&&&&&&这样好像还不行,那是因为在IIS里面无法解析.html后缀名(具体我也不知道怎么叫...)
&&&&&&&&&&&&然后这样操作:
&&&&&&&&&&&&&&&&&&右键点我的电脑--&管理--&展开'服务和应用程序'--&internet信息服务--&找到你共享的目录--&右键点击属性 --&点击'配置'--&
映射下面 --&找到.aspx的可执行文件路径 复制路径--&粘贴路径--&扩展名为&.html&--&然后把检查文件是否存在的勾去掉 这样就可以了
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:155662次
积分:1474
积分:1474
排名:千里之外
转载:41篇
评论:19条
(1)(1)(1)(1)(7)(6)(7)(5)(9)(2)(7)(1)

我要回帖

更多关于 求大神帮忙p图 的文章

 

随机推荐