对b/s结构如何部署你的xml文件~~~

原创 2004年09月29日 14:51:00

我们在设计b/s程序的时候,经常要用到xml,,我们可以把这些xml数据保存在数据库里。
还有很多情况我们会把xml数据保存成文件放在服务器上。这样就有一个问题,,访问者如果知道这个xml地址,就可以在浏览器里访问到。而对于一些xml你不想被访问。接下来介绍如何实现这个功能。
先申明一点,既然不能被客户端访问,所以你也不能用客户端脚本来解析这些xml,只能在服务器上解析后再把结果传给访问者。

方法很简单,
1、首先你先写一个自己的处理类。该处理类继承自IHttpHandler。
代码如下,这里代码比较简单,你可以根据自己功能需要增加复杂的功能
using System;
using System.Web;

namespace Dxh.Handler
{
 /// <summary>
 /// Handler 的摘要说明。
 /// </summary>
 public class XmlHandler : IHttpHandler
 {
  public XmlHandler()
  {
   //
   // TODO: 在此处添加构造函数逻辑
   //
  }

  public void ProcessRequest(System.Web.HttpContext context)
  {
   HttpResponse objResponse = context.Response ;
   objResponse.Write("<html><body><br><br><center>您不能直接访问该文件! ") ;
   objResponse.Write("</center></body></html>") ;
  }

  public bool IsReusable
  {
   get
   {
    return true;
   }
  }
 }
}

2、创建好处理类后,修改web.config文件,使得xml文件用该XmlHandler来处理。
 <httpHandlers>
  <add verb="*" path="*.xml" type="Dxh.Handler.XmlHandler,Dxh.Handler"/>
 </httpHandlers>
3、在IIS中添加ISAPI扩展,将我们的新后缀名.xml添加进去,具体过程为:
IIS--》选中“默认网站”点右键--》选“属性”--》“主目录”--》“配置”--》点“映射”里的“添加”按钮--》在弹出对话框里点击“浏览”按钮,选择aspnet_isapi.dll文件,并在扩展名里填xml,完成后确定。
4、最后一步,创建一个xml文件,通过http;//localhost的方式访问试试,浏览器只会显示“您不能直接访问该文件!”。当然你可以在服务器上操作该xml文件,把结果返回给访问者。


以上介绍了整个过程,当然在实际操作中,我们可以简化一些操作。。对于一些租用空间的人来说,要添加ISAPI扩展还是比较麻烦的。如果我们能够跳过第三步。只要简单改动web.config就可以该有多好。其实我们用个小技巧就行了。
在我们对xml文件命名的时候。把后缀改成已经是映射到aspnet_isapi.dll的后缀就可以了。如aspx,cs,ashx,ascx等等,先不要迷糊,,听我说完。

我们用ashx后缀来举例说明。我们只要先统一xml的命名规则。如 kind.xml.ashx,sex.xml.ashx,search.xml.ashx,现在你应该有点清楚了吧。

修改下web.config
 <httpHandlers>
  <add verb="*" path="*.xml.ashx" type="Dxh.Handler.XmlHandler,Dxh.Handler"/>
 </httpHandlers>

这样对于原来的ashx文件,他该怎么处理就怎么处理,对于*.xml.ashx的文件就对不起了。
如果你也想用客户端脚本访问,,那就直接命名成*.xml。还比较灵活吧~~~

好了,,这也是我刚想到的,在项目里用了一把,,感觉很牛,大家也试试。

欢迎交流。我是Dxh_Asp_Net       surensuyu@hotmail.com

B/S三层架构[转载]

 三层架构(3-tier application) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚,低耦合”的思...
  • duqi_2009
  • duqi_2009
  • 2010年11月30日 13:05
  • 13953

c/s结构和b/s结构的区别或其优缺点

B/s结构所谓"B/S"是指Browser/Server(浏览器/服务器),即客户端是标准的浏览器(如Internet Explore,Netscape Navigator等),服务器端为标准的WEB...
  • Apollo_pl
  • Apollo_pl
  • 2006年06月07日 20:14
  • 3496

B/S C/S结构区别及简介

B/S C/S结构区别及简介 B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户界面完全通过W...
  • vickiyan
  • vickiyan
  • 2005年05月29日 21:32
  • 9374

初识B/S结构编程技术

B/S结构编程语言            ASP(Active Server Page 动态服务器页面)技术         微软早期推出的B/S编程技术,出现在JSP和ASP.NET之前,...
  • wang379275614
  • wang379275614
  • 2013年06月24日 23:49
  • 5896

B/S与C/S结构安全的相对比较

关于网络安全软件B/S、C/S两种结构的优劣,近两年来出现过一些技术性的争论,但目前业内人士已经基本达成共识,B/S结构的优越性得到了普遍的认可,B/S结构是否能成为C/S结构的终结者还有待时间的验证...
  • liaoqianwen123
  • liaoqianwen123
  • 2014年05月05日 00:25
  • 3534

C/S和B/S结构概念

C/S和B/S结构概念 1.什么是C/S结构 C/S (Client/Server)结构,即客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Cl...
  • sinat_35111396
  • sinat_35111396
  • 2016年05月30日 09:56
  • 9060

B/S系统远程部署项目的方法和装置

B/S系统远程部署项目的方法和装置 摘要 本发明公开了一种B/S系统的远程安装部署的方法及装置。所述方法包括:第一计算机将运输程序远程部署到第二计算机,运输程序中携带非脚本语言编写的代...
  • yidaizongshi579
  • yidaizongshi579
  • 2016年01月09日 13:26
  • 1123

B/S结构简介

    B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户界面完全通过WWW浏览器实现,一部分...
  • mxq007
  • mxq007
  • 2007年07月26日 20:50
  • 40860

B/S模型基本架构

B/S是一种常见的客户端与服务器的交互模型,具有很多优点,这些优点使得它越来越流行。B/S模型具有以下优点:   客户端:客户端使用主要是浏览器,浏览器为用户提供了统一的操作平台,即对于不同的服务器...
  • xiaofangzi11
  • xiaofangzi11
  • 2016年11月22日 13:41
  • 1353

B/S架构中,缓存处理的一点点感想。

最近下班之后有大量闲暇时间,想做一个内容管理系统,包括前台文章浏览和后台的文章管理。 今天就对系统中将要用到的缓存方面的东西,做一下感想。 1、用什么做缓存? 在之前的项目中接触过Redis和Mem...
  • qq_30679953
  • qq_30679953
  • 2017年06月22日 17:35
  • 360
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:对b/s结构如何部署你的xml文件~~~
举报原因:
原因补充:

(最多只允许输入30个字)