在.NET 1.1下实现WebResource.axd
2007-07-27 16:21
190 查看
见到好多人在网上问起在.NET 1.1下如何实现类似.NET 2.0中的WebResource.axd,做了一下,以下是实现代码:
using System;
2using System.Collections;
3using System.Globalization;
4using System.IO;
5using System.Reflection;
6using System.Security.Permissions;
7using System.Text;
8using System.Text.RegularExpressions;
9using System.Web;
10using System.Web.Configuration;
11using System.Web.UI;
12using System.Web.Util;
13
14namespace XCtrlLib.WebCtrl
15
using System;
2using System.Web;
3
4namespace XCtrlLib.WebCtrl
5
using System;
2using System.Globalization;
3using System.IO;
4using System.Web;
5using System.Web.UI;
6
7namespace XCtrlLib.WebCtrl
8
using System;
2using System.Security.Permissions;
3using System.Web;
4
5namespace XCtrlLib.WebCtrl
6
using System;
2
3namespace XCtrlLib.WebCtrl
4
using System;
2using System.Collections;
3using System.Collections.Specialized;
4using System.ComponentModel;
5using System.Security.Permissions;
6using System.Text;
7using System.Web;
8using System.Web.UI;
9using System.Web.Handlers;
10using System.Web.Util;
11
12using System.Reflection;
13using System.Globalization;
14using System.IO;
15
16namespace XCtrlLib.WebCtrl
17
using System;
2using System.IO;
3using System.Text;
4using System.Web;
5using System.Security.Cryptography;
6
7namespace XCtrlLib.WebCtrl
8{
9 internal class Utils
{
Constructors#region Constructors
public Utils()
{
}
#endregion
private static byte[] DESKey = new byte[]{11,23,93,102,72,41,18,12};
private static byte[] DESIV = new byte[] {75,158,46,97,78,57,17,36};
/**//// <summary>
/// 加密方法
/// </summary>
/// <param name="strSource">待加密的串</param>
/// <returns>经过加密的串</returns>
public static string EncryptString(string strSource)
{
MemoryStream ms = new MemoryStream();
DESCryptoServiceProvider provider = new DESCryptoServiceProvider();
ICryptoTransform cryptoTransform = provider.CreateEncryptor(DESKey, DESIV);
CryptoStream cs = new CryptoStream(ms, cryptoTransform, CryptoStreamMode.Write);
StreamWriter sw = new StreamWriter(cs);
sw.Write(strSource);
sw.Flush();
cs.FlushFinalBlock();
ms.Flush();
string strResult = Convert.ToBase64String(ms.GetBuffer(), 0, (int)ms.Length);
return strResult;
}
/**//// <summary>
/// 解密方法
/// </summary>
/// <param name="strSource">待解密的串</param>
/// <returns>经过解密的串</returns>
public static string DecryptString(string strSource)
{
byte[] input = Convert.FromBase64String(strSource);
MemoryStream ms = new MemoryStream(input);
DESCryptoServiceProvider provider = new DESCryptoServiceProvider();
ICryptoTransform cryptoTransform = provider.CreateDecryptor(DESKey, DESIV);
CryptoStream cs = new CryptoStream(ms, cryptoTransform, CryptoStreamMode.Read);
StreamReader sr = new StreamReader(cs);
string strResult = sr.ReadToEnd();
return strResult;
}
}
}
应用时,在Web.config文件中作以下设置:
<httpHandlers>
<add verb="*" path="progress.ashx" type="XCtrlLib.WebCtrl.HttpUploadHandler, XCtrlLib"/>
<add verb="GET" path="WebResource.axd" type="XCtrlLib.WebCtrl.HttpWebResourceHandler, XCtrlLib" />
</httpHandlers>
即可象.NET 2.0中一样向客户端发送资源。
客户端调用:
ClientScriptManager mgr = new ClientScriptManager(this.Page);
string leftUrl = mgr.GetWebResourceUrl(typeof(XCtrlLib.WebCtrl.ResBag),"XCtrlLib.WebCtrl.Res.images.prev.gif");
this.Image1.ImageUrl = leftUrl;
using System;
2using System.Collections;
3using System.Globalization;
4using System.IO;
5using System.Reflection;
6using System.Security.Permissions;
7using System.Text;
8using System.Text.RegularExpressions;
9using System.Web;
10using System.Web.Configuration;
11using System.Web.UI;
12using System.Web.Util;
13
14namespace XCtrlLib.WebCtrl
15
using System;
2using System.Web;
3
4namespace XCtrlLib.WebCtrl
5
using System;
2using System.Globalization;
3using System.IO;
4using System.Web;
5using System.Web.UI;
6
7namespace XCtrlLib.WebCtrl
8
using System;
2using System.Security.Permissions;
3using System.Web;
4
5namespace XCtrlLib.WebCtrl
6
using System;
2
3namespace XCtrlLib.WebCtrl
4
using System;
2using System.Collections;
3using System.Collections.Specialized;
4using System.ComponentModel;
5using System.Security.Permissions;
6using System.Text;
7using System.Web;
8using System.Web.UI;
9using System.Web.Handlers;
10using System.Web.Util;
11
12using System.Reflection;
13using System.Globalization;
14using System.IO;
15
16namespace XCtrlLib.WebCtrl
17
using System;
2using System.IO;
3using System.Text;
4using System.Web;
5using System.Security.Cryptography;
6
7namespace XCtrlLib.WebCtrl
8{
9 internal class Utils
{
Constructors#region Constructors
public Utils()
{
}
#endregion
private static byte[] DESKey = new byte[]{11,23,93,102,72,41,18,12};
private static byte[] DESIV = new byte[] {75,158,46,97,78,57,17,36};
/**//// <summary>
/// 加密方法
/// </summary>
/// <param name="strSource">待加密的串</param>
/// <returns>经过加密的串</returns>
public static string EncryptString(string strSource)
{
MemoryStream ms = new MemoryStream();
DESCryptoServiceProvider provider = new DESCryptoServiceProvider();
ICryptoTransform cryptoTransform = provider.CreateEncryptor(DESKey, DESIV);
CryptoStream cs = new CryptoStream(ms, cryptoTransform, CryptoStreamMode.Write);
StreamWriter sw = new StreamWriter(cs);
sw.Write(strSource);
sw.Flush();
cs.FlushFinalBlock();
ms.Flush();
string strResult = Convert.ToBase64String(ms.GetBuffer(), 0, (int)ms.Length);
return strResult;
}
/**//// <summary>
/// 解密方法
/// </summary>
/// <param name="strSource">待解密的串</param>
/// <returns>经过解密的串</returns>
public static string DecryptString(string strSource)
{
byte[] input = Convert.FromBase64String(strSource);
MemoryStream ms = new MemoryStream(input);
DESCryptoServiceProvider provider = new DESCryptoServiceProvider();
ICryptoTransform cryptoTransform = provider.CreateDecryptor(DESKey, DESIV);
CryptoStream cs = new CryptoStream(ms, cryptoTransform, CryptoStreamMode.Read);
StreamReader sr = new StreamReader(cs);
string strResult = sr.ReadToEnd();
return strResult;
}
}
}
应用时,在Web.config文件中作以下设置:
<httpHandlers>
<add verb="*" path="progress.ashx" type="XCtrlLib.WebCtrl.HttpUploadHandler, XCtrlLib"/>
<add verb="GET" path="WebResource.axd" type="XCtrlLib.WebCtrl.HttpWebResourceHandler, XCtrlLib" />
</httpHandlers>
即可象.NET 2.0中一样向客户端发送资源。
客户端调用:
ClientScriptManager mgr = new ClientScriptManager(this.Page);
string leftUrl = mgr.GetWebResourceUrl(typeof(XCtrlLib.WebCtrl.ResBag),"XCtrlLib.WebCtrl.Res.images.prev.gif");
this.Image1.ImageUrl = leftUrl;
相关文章推荐
- 【IIS服务器】 一点点对WEBRESOURCE.AXD的配置及使用
- .net-WEB中实现打印预览
- WebResource实现在自定义控件中内嵌JS文件和样式文件
- JAVA与.NET的相互调用——通过Web服务实现相互调用
- 用WebLogic Workshop实现.NET Web服务互操作
- WebResource.axd错误可能的解决方法
- Web 2.0时代RSS的.Net实现
- 利用WebResource.axd通过一个URL来访问装配件的内置资源
- SPRING IN ACTION 第4版笔记-第六章RENDERING WEB VIEWS-003- SPRING的GENERAL TAG LIBRARY简介及用<s:message>和ReloadableResourceBundleMessageSource实现国际化
- 【转】WebResource实现在自定义控件中内嵌JS文件
- 一起谈.NET技术,JAVA与.NET的相互调用——通过Web服务实现相互调用
- JAVA与.NET的相互调用——通过Web服务实现相互调用(附原代码)
- 使用.net FtpWebRequest 实现FTP常用功能
- httpHandler实现.Net无后缀名Web访问的实现解析
- 使用axis2访问webservice(webserivice基于.net平台实现)
- JWT(JSON Web Token) Java与.Net简单编码实现
- IIS7.5真变态,服务器时间格式导致不生成WebResource.axd
- 基于.net搭建热插拔式web框架(实现原理)
- 手把手教你在.NET中创建Web服务实现方法
- JAVA与.NET的相互调用——通过Web服务实现相互调用(附原代码)