快速业务通道

IIS 7.0: 使用集成的ASP.NET管道增强应用程序

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-19
oginStatus 控件为已验证用户提供一个 注销链接。您可以指定登录控件在客户端的显示方式,具体做法是设置一个格式属性(有很多),或者使 用自定义 CSS 应用主题或外观。

Figure 4 Fancy Login Page

<html>
 <head>
  <title>Login to view the gallery</title>
 </head>
 <body>
  <form runat="server">
   <asp:LoginView runat="server">
    <AnonymousTemplate>
     Please log in to proceed.
     <br /><br />
     <asp:Login DestinationPageUrl="/" runat="server" />  

  
    </AnonymousTemplate>
    <LoggedInTemplate>
     Welcome <asp:LoginName runat="server" />!
     <br /><br />
     <asp:LoginStatus runat="server" />
    </LoggedInTemplate>
   </asp:LoginView>
  </form>
 </body>
</html>

这样就完成了。现在,当您访问图库时,就会自动重定向到登录页面,如图 5 所示。登录时,您需要输入先前创建的任一用户的用户凭据,然后就可以随意访问了!

IIS 7.0: 使用集成的ASP.NET管道增强应用程序

Figure 5 The Completed Login Page

搜索引擎友好的 URL

默认情况下,Qdig 图库程序使用难看但可行的查询字符串 URL 在您的图 库中导航。以下是我的图库中的 Qdig URL 示例:

http://myphpgallery/index.php?

Qwd=./Mike&Qif=Flower.jpg

不太雅观,也不太好记。更重要的是,它使搜索引擎很难正确 地索引图库的内容。

我希望让 Qdig 使用搜索引擎友好的 URL,Web 2.0 应用程序目前很流行此 类 URL,因为它们不仅为用户带来了非常直观的浏览体验,而且还能更有效地让您的网站被搜索引擎索引 。例如,我先前展示的友好 URL 版本如下:

http://myphpgallery/index.php/Mike/Flower.jpg

这会使子图库和图像名称置于 URL 路径中,不仅看起来更直观,而且重要的关键字放在 URL 的绝对路径中,使它更容易被搜索引擎索 引。

非常有意思的是,服务器在默认情况下会将此 URL 正确地传送到 index.php,而将余下的 “/Mike/Flower.jpg”识别为 PATH INFO 段。但是,随之而来的问题是,此 URL 并不遵循 Qdig 应用程序脚本 index.php 所期望的 URL 格式。即便我们可以让该 URL 调用 index.php 脚本, Qdig 仍找不到所需的查询字符串参数,所以不知道如何正确处理。

幸运的是,ASP.NET 集成管道 再次来帮助解除困境,这一次,我们用它来编写一个小型 .NET 模块,该模块可以动态地重写传入的 URL ,将比较友好的格式重写为 Qdig 的本机 URL,从而将正确的图库视图返回给客户端。借助 ASP.NET 集 成管道,此模块可采用与处理 ASP.NET 内容请求相同的方式处理 PHP 请求。

为此,我将使用 ASP.NET IHttpModule 模式实现一个托管模块。在位于 mvolo.com/blogs/serverside/archive/2007/08/15/Developing-IIS7-web-server-features-with-the -.NET-framework.aspx 的“使用 .NET Framework 开发 IIS7 模块和处理程序”一文中,您 可以阅读有关构建此类 IIS 7.0 模块的更多内容。

该模块将完成下列功能:

订阅请求处 理的 BeginRequest 阶段。

截获 URL 为友好格式的请求。

从 URL 中提取子图库路径和图 像文件名。

重写对 Qdig index.php 的请求,传递 Qdig 所期望的查询字符串参数中的子图库路 径和图像文件名。

编写此模块其实非常简单。首先,需要创建一个 C# 类以实现 System.Web.IHttpModule 接口,并在 Init 方法内将一个事件处理程序绑定到

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号