日期:2014-05-16  浏览次数:20472 次

asp.net 中怎样截获 目录不存在问题?
本帖最后由 hailong20062008 于 2014-04-25 11:59:38 编辑
问题是这样的 想做个通用程序,放在虚拟空间里就可以不用设置iis等配置,实现伪静态。 目前主要是目录的伪静态没有实现。

像url :http://localhost/diqu_beijing   这样的页面 "diqu_beijing " 目录实际上是不存在的,但是我想在程序中截获,为他输出相关页面,地址栏url不变,但是在vs环境中Global.asax可以截获运行,部署到iis中就不行了。

http://localhost/diqu_beijing/pro/80.aspx  而这样的页面iis中可以实现的。

我觉得应该是优先级问题。不知道怎样才能实现目录的截获。谢谢

我是这样处理的,当目录不存在时,Application_Error 事件根本执行不到,有什么办法解决吗?

 protected void Application_Error(object sender, EventArgs e)
        {  
            Exception Ex = HttpContext.Current.Server.GetLastError();
            if (Ex is HttpException)
            { 
                HttpException HE = new HttpException("HttpException", Ex);
                int HttpCode = Convert.ToInt32(HE.GetHttpCode());
                if (HttpCode == 404)
                {



就这么多分了,不好意思,大家帮个忙
------解决方案--------------------
很遗憾,你说的这个实现不了,因为它不是.ASPX结尾,使得IIS必会查找目录而不跳转到.NET机制上,所以IIS必须得设置,不过我们可以利用Global.asax来实现你要的目的。上面说到它必须得aspx结尾,那我们也可以从这方面做些文章,比如:
http://localhost/diqu_beijing.aspx
http://localhost/diqu_beijing/index.aspx
......
这样来促使IIS把目录管理交给网站的.NET机制,这样我们就可以在GLOBAL来实现伪静态,利用GLOBAL来实现静态应该可以在搜索引擎里找到,如果找不到,请私聊我,我以前开发过该类项目。
------解决方案--------------------
引用:
比如他没

<httpRuntime relaxedUrlToFileSystemMapping="true"/>


你访问一个DOS 字符集地址
http://www.sdljjzq.com/con
或者一个WINDOWS 非法文件字符地址
http://www.sdljjzq.com/a.

他一样的错 
如果你不能控制服务器简单文件夹判断还是可以的
如这个
http://uinatlex.gotoip3.com/con


您好,我还没有明白您的意思,到底可以不可以实现呢?可以的话具体怎样实现呢?
------解决方案--------------------
这是再平常不过的web编程。只不过asp.net的路由功能的自定义功能弱一点罢了,但是也还都是现成的。
------解决方案--------------------
注意.net版本及 x86 x64。  XP不敢保证  2003+iis6 是可以的。 2008的话直接就OK了。
我得睡觉去了。