- 浏览: 742013 次
- 性别:
- 来自: 北京
-
文章分类
- 全部博客 (1081)
- [网站分类]1.首页原创精华.NET区(包含架构设计、设计模式)(对首页文章的要求:原创、高质量、经过认真思考并精心写作) (0)
- [网站分类]2..NET新手区(用于发表不合适发表在首页的.NET技术文章,包括小经验、小技巧) (1)
- [网站分类]3.非技术区(技术之外的文章,但不要涉及任何政治内容) (0)
- [网站分类]4.其他技术区 (0)
- [网站分类]5.企业信息化 (0)
- [网站分类]6.读书心得区(技术书籍阅读心得、书籍推荐) (0)
- [网站分类]7.提问区(.NET技术方面的提问) (2)
- [网站分类]8.技术转载区(.NET技术文章转载, 请注明原文出处) (0)
- [网站分类]9.求职招聘区(个人求职、企业招聘) (0)
- [网站分类]Dottext区 (0)
- [网站分类]GIS技术 (0)
- [网站分类]IT英才专区(IT职场交流) (0)
- [网站分类]SharePoint (0)
- [网站分类]博客园.NET俱乐部(俱乐部组织与活动方面的文章) (0)
- [网站分类]软件发布区(发布自己开发的代码、软件) (0)
- [网站分类]网站管理区(网站管理方面的疑问、建议、意见, 寻求管理员帮助) (0)
- [网站分类]业界新闻 (1)
- 技术 (1)
- [随笔分类]生活感悟 (10)
- [随笔分类]C# (30)
- [随笔分类]AjaxPro教程 (3)
- [发布至博客园首页] (5)
- [随笔分类]简历 (0)
- [随笔分类]Linux (2)
- [随笔分类]技术聚会 (2)
- [随笔分类]ORM (1)
- [随笔分类]php (1)
- [随笔分类]创业 (1)
- [随笔分类]奇技淫巧 (1)
- [随笔分类]计划 (1)
- [随笔分类]架构&分层 (1)
- [随笔分类]整合行销 (1)
- [随笔分类]mac (1)
- [网站分类].NET新手区 (45)
- [网站分类]非技术区 (5)
- [网站分类]招聘区 (0)
- [随笔分类]单元测试 (1)
- [网站分类]其他技术区 (3)
- [网站分类]代码与软件发布 (6)
- [网站分类]提问区 (24)
- [随笔分类]ASP.NET (2)
- [随笔分类]FAQ (12)
- [随笔分类]开发人员工具 (1)
- [随笔分类]朗志轻量级项目管理解决方案 (1)
- [网站分类]读书区 (1)
最新评论
-
天使建站:
写和乱七八糟的 不知道从哪复制过来的 还是看这里吧j ...
jquery数组 -
hyn450:
你好,我最近也想了解一下竞争情报。不知道能不能交流一下呢 ?
最近的工作 -
lattimore:
这个连接打不开了阿!
使用vnc连ubuntu desktop -
MZhangShao:
奉劝你一句,以后在Ubuntu 用apt-get安装成功的软件 ...
关于xrdp的安装设置 -
f002489:
strftime
python下datetime类型的转换
缘起
为了在我的《朗志轻量级项目管理解决方案》项目中应用AOP,考虑了多种实现方式,首先想到的是postsharp,无奈它是基于2.0的,要不然它是首选了,可惜我的项目是基于1.1,只好舍弃了。接下来就是Castle DynamicProxy,可是它需要虚的非密封方法,这个要求让我很为难,也只好放弃了。最后选择了Remoting的实现方式,虽然它有百般的不是,但是对于我的这个项目而言,最重要的是可以解决我的问题,而且项目对性能效率几乎可以说是没有要求,查看了一下园子里关于使用Remoting实现aop的文章,那可不是一般的多哈,而且都贴出了相应的实现代码(注意是个“贴”字)可对于我这样的懒人,连粘代码调试的心情都没有。几经波折,发现了孙亚民先生的WebSharp这个东东,里面包含了一个基于Remoting的Aspect模块,对其做了良好的包装,而且说明的文档详尽,还是中文的,于是就在项目中使用它了。
问题
在WebSharp中提供了拦截类方式,如下












注意黄色的部分,就是原先的匹配方式,我想对项目中的一类方法进行横切,但是其中有几个是特例,再是我的方法的命名又没有什么规则,万般无奈之下动了改造的念头,我设想的是能够达到如下的效果
















改造




































配置文件变了,当然,读取的方式也得变了,原先WebSharp Aspect中采用的是操作xml的方式来读取节点,这里我们使用了反串行化的方式,还原对象的状态。这或许是一点小小的进步吧,但不知道效率怎么样了,不故用起来倒是挺爽的。
__________________________________________
朗志工作室:承接北京地区网站类项目
发表评论
-
关于分层架构中的业务实体层的使用一直不太清楚,可否指点一下?
2007-03-23 09:10 683我知道业务逻辑层又可细分为三个层次,分别是业务外观层业务规则层 ... -
xml反串行化
2007-07-02 17:23 7451using System; 2using Syste ... -
WriteXmlSchema(xsdFileName)和GetXmlSchema()输出的内容的差异
2007-07-04 19:00 908利用DataSet.ReadXml载入一个xml文件,再使用G ... -
WebSharp Aspect改进(续2)
2007-11-19 21:39 706接着上次在《朗志轻量级项目管理解决方案》中对Aspec ... -
TreeView(树形控件)中常用到的属性和事件
2007-11-19 22:22 13031.TreeView(树形控件) ... -
有没有适合的的面向对象的查询语言(Object Query Language)
2007-11-28 10:15 774在我做《朗志轻量级项目管理解决方案》的过程中,我希望 ... -
问题解答集
2007-11-29 18:11 4531 如何在源代码的目录下添加一个测试文件 ... -
FckEditor自定义按钮
2007-11-29 18:35 844目录 FckEditor自定义按钮 1 目录 ... -
GhstDoc2.1.1使用手册
2007-11-29 18:39 738目录 GhstDoc2.1.1使用手册 1 ... -
Log4net使用说明
2007-11-29 18:44 799Log4net使用说明 1 修改历史纪录 ... -
MySQLHelper类使用说明
2007-11-29 18:46 1336目录 MySQLHelper类使用说明 1 目录 ... -
NDoc1.3.1使用手册
2007-11-29 18:47 784目录 NDoc1.3.1使用手册 1 目录 ... -
程序中操作Word
2007-11-29 18:52 742目录 程序中操作Word 1 目录 2 ... -
利用SMTP服务发送电子邮件
2007-11-29 18:58 1361目录 利用SMTP服务发送电子邮件 1 目录 ... -
程序中操作Excel
2007-11-29 18:59 657目录 程序中操作Excel 1 目录 ... -
访问被拒绝:“AjaxPro”的解决方案
2007-11-29 19:01 584目录 访问被拒绝:&qu ... -
sqlserver的版本号
2008-02-27 21:01 830当你安装了sqlserver 2005之后你就可以使用sqls ... -
在安装有VS2008beta2版本的机子上使用vs2005进行部署出现问题的解决方法
2008-02-27 21:13 693我知道,2008rtm发布已经很久了,不巧的是同学在我的机子上 ... -
忙话codesmith
2008-07-28 15:01 878为什么不是闲话,因为我很忙,项目中新问题是接连不断,上一篇讲到 ... -
Berkeley Db Associate关联数据函数的使用
2008-07-31 21:42 860Code<!--<br /><br ...
相关推荐
Websharp是众多Java Web开发技术中的一种,其核心是页面模板,它是一种通过模板引擎驱动模板来输出动态Web内容的技术。为什么要使用Websharp呢?因为它简单而高效。和Spring、Structs这些Java开发技术相比,Websharp...
WebSharp教程:深入理解C#源码在Web开发中的应用 WebSharp是一个强大的开发框架,它结合了C#编程语言的高效性和Web开发的灵活性。本教程将带你深入探索WebSharp的世界,理解其核心概念、功能以及如何利用C#源码进行...
"Websharp.Aspect"可能是指Websharp框架中的面向切面编程(AOP)支持。AOP允许开发者将关注点分离,如日志、事务管理等,从核心业务逻辑中解耦出来,从而提高代码的可读性和可维护性。通过使用切面,开发者可以更...
通过深入研究"Websharp1.0Source"中的每一个文件和目录,开发者不仅可以学习到WebSharp框架的内部机制,还能进一步提升自己的编程技能,更好地理解和运用面向切面编程以及其他相关的软件开发技术。
在ORM部分,使用了动态代码生成和即时编译,以及对DataSet进行了扩展;在AOP部分,使用了Proxy机制;在Service Locator部分,使用的主要技术也是动态代码生成和即时编译。 针对Websharp,UML软件工程组织提供一系列的...
通过研究这个"Websharp示例工程",开发者不仅可以学习到Websharp框架的使用,还能进一步提升C#编程技能,了解Web开发的整体流程,对全栈开发有更深入的理解。这将有助于你构建高效、可维护的Web应用程序。
本篇文章将深入探讨WebSharp框架及其在.NET开发中的应用。 一、WebSharp框架基础 WebSharp是.NET框架的一个扩展,它提供了C#语言来编写前端代码,使得开发者可以使用熟悉的.NET工具和库来构建全栈Web应用。这一特性...
总的来说,WebSharp源码提供了一个独特的视角来理解如何在Web开发中结合C#和JavaScript,对于想深入了解跨语言开发或者对WebSharper感兴趣的开发者来说,这是一个宝贵的资源。通过系统地学习和研究,你可以提升自己...
Websharp的目标,便是设计一个基于.Net的通用的应用软件系统的框架,以简化基于.Net平台的企业应用软件的开发。目前,Websharp关注于企业应用软件的以下几个方面: 1、 数据库访问 2、 O/R 映射 3、 AOP...
WebSharp2004是一个基于.NET Framework 1.1框架的开源项目,它展示了C#编程语言在构建Web应用程序方面的应用。这个项目可能是为了解决早期.NET开发中的特定挑战,或者是为了提供一个学习和理解Web应用程序开发基础的...
在ORM部分,使用了动态代码生成和即时编译,以及对DataSet进行了扩展;在AOP部分,使用了Proxy机制;在Service Locator部分,使用的主要技术也是动态代码生成和即时编译. 注:Websharp是Open Source的,使用GNU LGPL...
在`Websharp.Mshop.BLL`中,可能会有如`DeleteProduct`这样的方法,接收一个产品ID作为参数,然后在`Websharp.Mshop.DAL`中执行相应的删除SQL命令。安全性和事务管理在此处显得尤为重要,确保单个操作失败时,整个...
Websharp 是 Microsoft dotNet 的轻量级应用程序框架。
以Websharp Aspect框架为例,这是一个基于.NET平台的开源AOP框架。在业务逻辑中,我们可以将权限检查等横切关注点从核心代码中移除,通过AOP框架在运行时自动插入。例如,可以创建一个`Security`类来封装权限检查,...