2009年2月26日

最近天气非常诡异,大家注意身体,这几天无聊写了个小程序,发出来玩玩

天气太诡异了,中午打雷,下午下雪

难道要地震了。好害怕啊~~~~

最近写了个小程序,信息记录工具,能加密存储信息发出来玩玩~~

其实是用Delphi写的,来.NET这沾沾光~~

下载:/Files/ryyd/信息记录工具.rar

源码:/Files/ryyd/源码.rar

大家保重身体啊!!!!!!

posted @ 2009-02-26 20:14 张柔 阅读(247) 评论(4) 编辑

2009年1月20日

[翻译练习]关于在传统ASP.NET Web应用程序上面使用Routing的一些笔记

最近发现学东西有时候还是要去国外的论坛博客看看,要集思广益,但英语好多年不接触已经很差了,要加强!

随便找了个文章翻译下,练习练习,处女翻。。。

原文:Some notes on routing in classic ASP.NET web applications

翻译:

关于在传统ASP.NET Web应用程序上面使用Routing的一些笔记

.NET 3.5 SP1里面的Routing和正常的请求处理在许多方面都是不同的

下面是一些Routing如何工作的快速摘要

1.Routs定义了一些URL匹配模式,并且被放在了可以从RouteTable.Routes 很容易得到的有序序列里

2.进来的请求经过UrlRoutingModule,试图遍历整个路由表并找到一个匹配

3.如果出现一个匹配,route能够从URL中提取一些值并且将这些值存入Values属性下的RouteData对象中(事实上,还有其他的东西要被存入RouteData中,但那些都不是基本要素)

4.如果出现一个匹配,Route则去处理HTTP处理类

5.HTTP handler 要经过RouteData 并且要去处理请求

当你在传统的ASP.NET Web 应用程序里使用System.Web.Routing 时你将需要一个特殊的HTTP 处理类去使新的RouteData改变(快速提示:在处理中你可能不再需要 Request.QueryString ,因为当确定了Route Data的时候,你就能从中获取它们)。对于Web Forms你能从 Phil Haack的文章 在WebForms里使用Routing 里找到 WebFormRouteHandler这个实现,这个Phil 所写的Route Handler期望在Web页面里实现IRoutablePage接口,以便能对其中的 RequestContext起作用(步骤4-5)

但是一旦你实现了一个自定义的HTTP Handler,就会发现什么也得不到,如下:

Phil's的实现基于如下两点:

1.一个System.Web.UI.Page的派生类

2.一个注册的 http handler终点(不论是从  .ashx 文件还是来自 web.config的httpHandlers配置节点)

这儿有一个对Phil's代码的快速修正

第一步

第46行简单的改为如下:

var page = BuildManager.CreateInstanceFromVirtualPath(virtualPath, typeof(IRoutablePage)) as IHttpHandler;

 

我同时建议修改一些名字, IRoutablePage接口变为IRoutableHttpHandler接口,WebFormRouteHandler变为ClassicRouteHandler或者根据你自己的想法来修改

第二步

这一步不得不做,你必须和刚才的假定保持一致,也要和日常方案保持一致

作为补充,我快速的写了一个通用的基类和对应的接口以便允许你使用System.Web.Routing写一个自定义的Handler而不再需要到处注册了。这给了你极大的自由去连接自定义的Handler(你不得不照着示例,但我无法想象你我之外还有人懒到不愿意在Web.Config中注册,呵呵,我就是这样的,当然其中很大一部分原因是谁也不想改进运行中的Handler,不是吗?)

接口IRoutableHttpHandler应当被HTTP handler实现用来替代 IHttpHandler接口

Code

 

和Phil的 IRoutablePage 非常像(如果你根据我的建议对他的一些代码进行重命名的话)下面是我的

 

public class MySuperbadCustomHandler : IRoutableHttpHandler
{
  
public void ProcessRequest(HttpContext context)
  {
    context.Response.ContentType 
= "text/plain";
    context.Response.Write(
"I'm superbad");
  }

  
public bool IsReusable
  {
    
get { return false; }
  }

  
#region IRoutableHttpHandler Members
  
public RequestContext RequestContext { getset; }
  
#endregion
}

 

 上面就是一个非常傻的自定义的HTTP Handler,但也的确很清楚的告诉了你哪里该干什么(天哪,我可没这么说)

一般的Route Handler就像这样:

public class GenericHttpRouteHandler<T> : IRouteHandler
  
where T : IRoutableHttpHandler, new()
{
  
#region IRouteHandler Members

  
public IHttpHandler GetHttpHandler(RequestContext requestContext)
  {
    T handler 
= new T();
    handler.RequestContext 
= requestContext;
    
return handler;
  }

  
#endregion
}

 

你的Route应当使用这个 handler 并且指定自定义的HTTP handler 为范型,这儿是示例:

routes.Add(new Route("sweet"new GenericHttpRouteHandler<MySuperbadCustomHandler>()));

 

上面的阐述短小精悍,相信你一定能理解吧。是,还有个大问题:如果没有已知的终点,就很难去做一个基础的存取检查验证(文件或URL)。所以,大体上来说,任何人在能够访问HTTP Handler,但不能用于安全的资源,这是一个警告!

 

posted @ 2009-01-20 21:58 张柔 阅读(137) 评论(0) 编辑

2009年1月19日

MD5多线程计算器

发一个MD5计算器

非.NET,以前用Delphi写的,今天整理出来

支持字符串计算和多文件多线程计算

 

下面是源代码:

/Files/ryyd/MD5计算器.rar

可能会用到一个第三方的皮肤控件 是著名的DynamicSkinForm,BusinessSkinForm

posted @ 2009-01-19 19:08 张柔 阅读(165) 评论(0) 编辑

2009年1月18日

关于使用在webforms里使用routing遇到的问题

看了重典的两篇文章

System.Web.Routing入门及进阶 上篇

System.Web.Routing入门及进阶 下篇

仿照其中的进行了操作,发现怎么不都起作用,非常奇怪,搜了好多才找到了解决方案

是在MSDN上找到的,如下:

To configure an ASP.NET Web site project for routing

 

  1. In the application's Web.config file, add the ASP.NET routing assembly to the assemblies element, as shown in the following example:

    <add assembly="System.Web.Routing, Version=3.5.0.0,
        Culture=neutral,
        PublicKeyToken=31BF3856AD364E35"/>
        
  2. If the application runs under IIS 6.0 or IIS 7.0 Classic mode, add the UrlRoutingModule class to the httpModules element, as shown in the following example:

    <httpModules>
        <add name="UrlRoutingModule"
        type="System.Web.Routing.UrlRoutingModule,
        System.Web.Routing,
        Version=3.5.0.0,
        Culture=neutral,
        PublicKeyToken=31BF3856AD364E35"/>
        </httpModules>
        
  3. If the application runs under IIS 7.0 Integrated mode, add the UrlRoutingModule class to the modules element, as shown in the following example:

    <system.webServer>
        <modules>
        <remove name="UrlRoutingModule" />
        <add name="UrlRoutingModule"
        type="System.Web.Routing.UrlRoutingModule,
        System.Web.Routing,
        Version=3.5.0.0,
        Culture=neutral,
        PublicKeyToken=31BF3856AD364E35"/>
        </modules>
        </system.webServer>
        
  4. If the application runs under IIS 7.0 Integrated mode, add the UrlRoutingHandler class to the handlers element as shown in the following example:

    <system.webServer>
        <handlers>
        <add name="UrlRoutingHandler"
        preCondition="integratedMode"
        verb="*"
        path="UrlRouting.axd"
        type="System.Web.HttpForbiddenHandler,
        System.Web, Version=2.0.0.0,
        Culture=neutral,
        PublicKeyToken=b03f5f7f11d50a3a" />
        </handlers>
        </system.webServer>
        

需要在web.config中进行以上配置

一般的教程中只提到了1和2

1是必须的,而2是针对IIS的经典模式的

而我用的是IIS7的集成模式

所以需要进行3和4的配置,按照3和4进行了操作以后

就成功了!

posted @ 2009-01-18 23:37 张柔 阅读(103) 评论(0) 编辑

2008年11月10日

Listview+DataPager分页问题!

Listview+DataPager确实是可以分页

但是为什么不能灵活控制

数据量大的话还要每次分页都读全部数据吗

为什么不能DataPager.PageIndex =。。。这样操作

该如何弄呢,难道还是用AspNetPager

posted @ 2008-11-10 19:58 张柔 阅读(590) 评论(2) 编辑

2008年11月2日

为什么百度有啊还不开始宣传!

摘要: 有啊快正是上线1个星期了漫步南京街头,为什么看不到铺天盖地的宣传和广告太奇怪了阅读全文

posted @ 2008-11-02 22:50 张柔 阅读(321) 评论(4) 编辑

2008年10月14日

QQ 聊天记录解密类 DELPHI版

posted @ 2008-10-14 18:39 张柔 阅读(1342) 评论(1) 编辑

QQ Tea加密解密单元 Delphi

posted @ 2008-10-14 18:34 张柔 阅读(969) 评论(0) 编辑

2008年10月11日

.net 3.5 sp1 编译器发布的网站无法在没有打SP1补丁的主机上使用

posted @ 2008-10-11 21:17 张柔 阅读(155) 评论(0) 编辑

2008年10月9日

vista 下编译的DLL 无法在XP下使用

posted @ 2008-10-09 16:52 张柔 阅读(165) 评论(2) 编辑

导航

<2012年1月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
2930311234

公告

昵称:张柔
园龄:3年9个月
粉丝:1
关注:0

搜索

 

常用链接

我的标签

随笔档案

积分与排名

  • 积分 - 9471
  • 排名 - 8978

最新评论

阅读排行榜

评论排行榜

推荐排行榜