ashx文件中代码编译进DLL的解决方法,完美
来源:互联网 发布:诗词软件哪个最好 编辑:程序博客网 时间:2024/04/28 09:40
我在网上看到有人说ashx页面发布后代码都在里面,不怎么安全。于是简单百度了下,看到有人把ashx代码放进共享里达到被编译的效果,其实不用这样,这样如果文件一多,管理会很麻烦。ashx的好处不多说,比aspx效率要高。其实要把代码编译进dll,很简单,用到分部类就行
我们首先看看原来的ashx代码
有一个ashx文件名叫做 CheckLogin.ashx,是用来判断登陆的,它的代码文件相应的就是CheckLogin.ashx.cs
我们先看看下面CheckLogin.ashx.cs中的代码(虽然是单独的.cs文件,但是编译后其实还是在ashx文件中)
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Security;using System.Web.SessionState;namespace WebUI.Handler{ /// <summary> /// CheckLogin 的摘要说明 /// </summary> public class CheckLogin : IHttpHandler { private void AddUserOnLine(HttpContext context) { context.Response.ContentType = "text/plain"; } //内部处理程序云云.... public bool IsReusable { get { return false; } } }
用这样的方式写,编译网站后代码全在ashx文件里,记事本一打开全看见了。
于是来个小小改动,看下面
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Security;using System.Web.SessionState;namespace WebUI.Handler{ ////// CheckLogin 的摘要说明 /// public partial class CheckLogin : IHttpHandler { 注意上面用到了partial关键字,而这里的代码全剪切到新建的类里了,这边留空就行 }}
加了 partial ,表示这是分部类。
然后再新建一个同名的类文件,CheckLogin.cs ,其中using全照搬,反正里面结构完全一样,要处理的逻辑写这里就行。
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Security;using System.Web.SessionState;namespace WebUI.Handler{ public partial class CheckLogin { public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; }//这里也用到了partial关键字,表示这个类是CheckLogin的一部分,然后写你的业务逻辑吧,这边的代码会被编译进dll中。 public bool IsReusable { get { return false; } } }}
代码写新建类文件中,搞定,编译看看,ashx文件中没东西啦!全进dll了。
编译完成之后我们打开CheckLogin.ashx文件看到,里面就一行,大小1KB,完美
<%@WebHandler Language="C#" CodeBehind="CheckLogin.ashx.cs" Class="WebUI.Handler.CheckLogin"%>//除了这行,其他什么都没了。
- ashx文件中代码编译进DLL的解决方法,完美
- 创建安全的ashx文件,ashx编译
- 创建安全的ashx文件,ashx编译
- ashx文件中折叠收起代码
- 丢失MFC42D.DLL文件,无法找到MFC42D.DLL的完美解决方法
- vs2005编译dll没有lib文件的解决方法
- asp.net中*.ashx文件的用法
- VS2010中ashx文件中代码折叠实现方法
- jquery向.ashx文件post中文乱码问题的解决方法
- 关于html+ashx开发中几个问题的解决方法
- 关于html+ashx开发中几个问题的解决方法
- ashx文件中使用session提示“未将对象引用设置到对象的实例”的解决方法
- VS 应用中,部分文件中的代码无法折叠的处理方法(以ashx文件为例)
- ashx 文件的运用
- ashx 文件的运用
- ashx文件的使用
- ashx文件的使用
- ashx文件的使用
- 第三周C++ 任务4.
- 一点简单的js
- Magento Paypal checkout not send new order email(使用Paypal checkout时无法收到新订单邮件)
- java 实现文件下载
- CentOS6.1+Nginx1.1.12+PHP5.3.9+Redis2.4.5+Memcache及相关扩展安装脚本
- ashx文件中代码编译进DLL的解决方法,完美
- C++ 操作 MYSQL
- Android图片对象转换
- Use jQuery To Retrieve Data From An XML File
- request.getRemoteAddr()
- Android.mk文件语法规范
- 深入JVM学习笔记-安全性
- 查找 EXC_BAD_ACCESS 问题根源的方法
- ORA-00257: archiver error. Connect internal only, until freed