- 浏览: 282767 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
iceblue123:
厉害,太感谢楼主了,第二种方法威武!
spring MVC 3.2中@ResponseBody返回乱码的完美解决方案 -
gaozi131:
感谢啊 折腾了一下午搞定
spring MVC 3.2中@ResponseBody返回乱码的完美解决方案 -
yenshen:
找了半天,问题终于解决了,感谢!
spring MVC 3.2中@ResponseBody返回乱码的完美解决方案 -
笑闯天下:
感觉效率不是很高啊 ,如果从数据库中取到的数据 还要去自己拼接 ...
java导出CSV文件 -
ajonjun:
http://viralpatel.net/
解决ckeditor html不显示,ckeditor 自动过滤html
用 HttpModule 实现了 ASP.Net (*.aspx) 中文简繁体的自动转换!
思路相当简单!
Global.asax 的 Codebehind 的 Application_BeginRequest 的事件处理函数也应可以实现!
HttpHandler 是不能实现的,因为它是"截流"!
效果不错!可以处理任意 ASP.Net 站点、虚拟目录!不用修改原有的任何代码!
代码如下:
将 StrConvHttpModule.cs 编译为 StrConvHttpModule.dll:
csc.exe /t:library StrConvHttpModule.cs /r:C:\windows\Microsoft.NET\Framework\v1.1.4322\Microsoft.VisualBasic.dll
以 Microsoft .NET Framework SDK 自带的 QuickStart 教程站点为例
http://localhost/quickstart/
修改 quickstart 虚拟目录下的 web.config, 在 <system.web>...</system.web> 区域添加如下配置节:
将 StrConvHttpModule.dll 复制到 该虚拟目录的 bin\ 目录下
,以及该虚拟目录下的各级子虚拟目录下的 bin\ 目录下
OK
思路相当简单!
Global.asax 的 Codebehind 的 Application_BeginRequest 的事件处理函数也应可以实现!
HttpHandler 是不能实现的,因为它是"截流"!
效果不错!可以处理任意 ASP.Net 站点、虚拟目录!不用修改原有的任何代码!
代码如下:
StrConvHttpModule.cs /**//* csc.exe /t:library StrConvHttpModule.cs /r:C:\windows\Microsoft.NET\Framework\v1.1.4322\Microsoft.VisualBasic.dll */ namespace zhutou.HttpModules { using System; using System.Web; using System.Collections; using zhutou.IO; public class StrConvHttpModule : IHttpModule { public string ModuleName { get { return "StrConvHttpModule"; } } public void Init(HttpApplication application) { application.BeginRequest += (new EventHandler(this.Application_BeginRequest)); } private void Application_BeginRequest(object sender, EventArgs e) { HttpApplication application = (HttpApplication) sender; HttpContext context = application.Context; context.Response.Filter = new StrConvFilter(context.Response.Filter); } public void Dispose() { } } } namespace zhutou.IO { using System; using System.IO; using System.Web; using System.Text; using System.Globalization; using Microsoft.VisualBasic; public class StrConvFilter : Stream { private Stream _sink; private long _position; public StrConvFilter(Stream sink) { this._sink = sink; } public override bool CanRead { get { return true; } } public override bool CanSeek { get { return true; } } public override bool CanWrite { get { return true; } } public override long Length { get { return 0; } } public override long Position { get { return this._position; } set { this._position = value; } } public override long Seek(long offset, SeekOrigin direction) { return this._sink.Seek(offset, direction); } public override void SetLength(long length) { this._sink.SetLength(length); } public override void Close() { this._sink.Close(); } public override void Flush() { this._sink.Flush(); } public override int Read(byte[] buffer, int offset, int count) { return this._sink.Read(buffer, offset, count); } public override void Write(byte[] buffer, int offset, int count) { if (HttpContext.Current.Response.ContentType == "text/html") { Encoding e = Encoding.GetEncoding(HttpContext.Current.Response.Charset); string s = e.GetString(buffer, offset, count); s = Strings.StrConv(s, VbStrConv.TraditionalChinese, CultureInfo.CurrentCulture.LCID); this._sink.Write(e.GetBytes(s), 0, e.GetByteCount(s)); } else { this._sink.Write(buffer, offset, count); } } } }
将 StrConvHttpModule.cs 编译为 StrConvHttpModule.dll:
csc.exe /t:library StrConvHttpModule.cs /r:C:\windows\Microsoft.NET\Framework\v1.1.4322\Microsoft.VisualBasic.dll
以 Microsoft .NET Framework SDK 自带的 QuickStart 教程站点为例
http://localhost/quickstart/
修改 quickstart 虚拟目录下的 web.config, 在 <system.web>...</system.web> 区域添加如下配置节:
引用
<httpModules>
<add name="StrConvHttpModule" type="zhutou.HttpModules.StrConvHttpModule, StrConvHttpModule" />
</httpModules>
<add name="StrConvHttpModule" type="zhutou.HttpModules.StrConvHttpModule, StrConvHttpModule" />
</httpModules>
将 StrConvHttpModule.dll 复制到 该虚拟目录的 bin\ 目录下
,以及该虚拟目录下的各级子虚拟目录下的 bin\ 目录下
OK
发表评论
-
20条ASP.NET常用语句非常实用
2009-12-22 23:39 13841.//弹出对话框.点击转向指定页面 Response.Wr ... -
C#/.NET主线程与子线程之间的关系
2009-12-22 23:10 2406以前一直没有在程序中写过总结,再翻开程序时却不知所云,所以我决 ... -
Using sqlite with .NET
2009-12-08 00:01 931The other day I found that ther ... -
C#操作Excel,套用模板并对数据进行分页
2009-12-07 23:52 2189using System; using System.I ... -
动态生成缩略图
2009-12-07 23:49 1353Util.cs 的部分代码: //// <summa ... -
如何获取客户IE统计信息
2009-12-07 23:47 1046namespace Huawei.com { p ... -
运用API函数获取系统信息
2009-12-07 23:44 1113<HTML> <HEAD> ... -
WMI类-所有可用的WMI的类封装
2009-12-07 23:43 1702public class WMIClasses ... -
自己写的一个文件上传的类
2009-12-07 23:42 1076using System; using System.C ... -
文件操作工具类 FileUtility
2009-12-07 23:41 1280最近一直在研究 Smart Client 的 Smart Up ... -
C# 检查字符串,防SQL注入攻击
2009-12-07 23:16 1841例子里暂定为=号和'号 bool CheckParams ... -
获取本机机器名和登录WINDOWS的用户名?
2009-12-07 23:13 3640using System; using System. ... -
C# 禁用ctrl+alt+del
2009-12-07 23:09 1872using System; using System.R ... -
获取应用程序进程实例,
2009-12-07 23:07 1313/// <summary> ... -
如何在C#中使用全局鼠标、键盘Hook
2009-12-07 23:03 2669今天,有个同事问我,怎样在C#中使用全局钩子?以前写的全局钩子 ... -
把Web Control导出为Excel或Word
2009-12-07 22:58 1045/// <summary> /// 将Web ... -
C#编程忘记密码功能的实现方法
2009-12-07 22:55 2396以下是引用片段: int result = user.Ge ... -
C#实现USB接口的程序代码
2009-12-07 22:53 1946namespace ConsoleApplication1 ... -
Textarea标签封装为Web在线编辑器
2009-12-07 22:42 1099Editor.htm <textarea style ... -
定自已的格式化类
2009-12-07 22:20 829public class Vector:IFormatta ...
相关推荐
在Asp.Net应用程序中,`App_Code`文件夹通常用于放置自定义的代码类库,这些类库可能包含了自定义的HttpModule实现。`App_Data`文件夹则常用于存储应用程序的数据,如数据库文件或XML文件。 在实际项目中,...
【Asp.net汉字转拼音源码】是一种在Asp.Net平台上实现的功能,它允许程序将汉字转换为其对应的拼音表示,这对于搜索引擎优化(SEO)、中文排序、关键字分析等场景非常有用。Asp.Net是Microsoft开发的一个用于构建Web...
ASP.NET是微软开发的一种用于构建Web应用程序的框架,它提供了丰富的功能和工具,使得开发者能够高效地构建动态网站和Web服务。在这个主题中,我们将深入探讨ASP.NET架构中的两个关键组件:HttpHandler和HttpModule...
a highly efficient proprietary HttpModule, which enables uploading of files with size up to 2GB, while allocating a minimum amount of server memory. UI control for single- and multi-file uploads, ...
### ASP.NET架构详解 #### 一、引言与背景 在深入探讨ASP.NET架构之前,有必要先了解一下ASP.NET的历史背景及其重要性。ASP.NET是由微软公司开发的一种用于构建动态网页和Web应用程序的技术框架。它基于.NET ...
ASP.NET URL重写是Web开发中的一个重要技术,它允许开发者改变URL的结构,使其更加用户友好,搜索引擎优化(SEO)友好,并能增强网站的安全性。本文将深入探讨ASP.NET URL重写的核心概念、优势以及如何实现。 **1. ...
2. **代码实现**:可能需要对URLReWriter的源码进行修改,以适应特定的URL处理需求。 **注意事项** 1. **配置正确性**:确保Web.config中的HttpModule配置正确无误,避免导致应用无法启动。 2. **测试全面**:对...
2.ASP.NET.2.0.高级编程(第4版) [1/7] 原书名: Professional ASP.NET 2.0 原出版社: Wrox 作者:(美)Bill Evjen, Scott Hanselman, Farhan Muhammad [同作者作品] [作译者介绍] 译者: 李敏波[同译者作品] ...
- **编译阶段**: ASP.NET首先会编译所有的ASPX页面和相关代码-behind文件(如Default.aspx.cs)。这将生成IL(中间语言),然后由.NET Framework的Just-In-Time (JIT)编译器将其转换为机器码。 - **HTML渲染**: 当...
1. **ASP.NET架构**:ASP.NET框架包括几个关键组件,如ASP.NET页面生命周期、HttpApplication、HttpModule和HttpHandler。页面生命周期管理着从请求到达服务器到响应返回客户端的整个过程,包括初始化、加载、验证、...
《Professional ASP.NET Design Patterns》是一本深入探讨ASP.NET开发中设计模式的专业书籍。设计模式是软件工程中的宝贵经验总结,是解决常见问题的有效模板。在ASP.NET开发中,理解并运用设计模式能提升代码质量、...
ASP.NET设计模式源代码是关于使用ASP.NET框架实现经典设计模式的实例集合。这些源代码文件,如ASPPatternsc02.zip至ASPPatternsc12.zip,提供了丰富的实践示例,帮助开发者深入理解如何在实际项目中应用设计模式。...
2. **自动生成**:在ASP.NET应用中,可以编写自定义的HttpHandler或HttpModule,在页面请求时实时生成HTML并缓存,下次请求时直接返回缓存的HTML,实现类似静态的效果。 3. **工具自动化**:有一些第三方工具或库,...
标题中的“rss.rar_ RSS asp.net_RSS asp.net_asp.net_asp.net rss_rss asp.n”暗示这是一个关于使用ASP.NET实现RSS(Really Simple Syndication)功能的压缩包资源。RSS是一种用于发布和订阅网站内容的XML格式,常...
ASP.NET 是微软公司推出的一种基于.NET Framework的Web应用程序开发平台,它允许开发人员使用各种编程语言(如C#、VB.NET)构建动态网站、Web应用和Web服务。在这个"asp.net生成静态页面源码例子打包下载"中,我们...
通过阅读并分析“Dragon_HttpModule”测试代码,我们可以更深入地了解如何利用HttpModule来实现各种功能,如日志记录、URL重定向、用户认证等,从而提升我们的Asp.Net应用程序的功能性和可维护性。在实践中,不断...
ASP.NET是微软公司推出的一种基于.NET Framework的Web应用程序开发平台,它为开发者提供了构建动态、数据驱动的Web应用的强大工具和框架。在这个"ASP.NET经典小案例"中,我们可以期待学习到一系列实用的编程技巧和...
ASP.NET中,可以使用HttpHandler或HttpModule来实现页面静态化。例如,创建一个HttpHandler,检测请求的URL是否对应已生成的静态HTML,如果存在则直接返回,否则动态生成并保存为静态文件。 6. **注意事项**: - ...
这个压缩包“ASP.NET源码——Asp.net根据IP显示省市拼音.zip”提供了一个示例,演示了如何在ASP.NET环境中通过用户的IP地址获取并显示其所在的省市拼音。 在 ASP.NET 中实现这一功能,主要涉及到以下几个关键知识点...
ASP.NET 编程模型是微软开发的Web应用程序框架的核心组成部分,它定义了处理客户端请求的整个生命周期。在ASP.NET中,编程模型主要包括HttpApplication、HttpModule、HttpHandler和相关事件的执行顺序。以下是对这些...