2012年3月22日
摘要: 在上篇讲Asp.net MVC权限设计的文章中,利用了微软企业库的安全模块。该设计可以适用于其他winform,asp.net程序。http://www.cnblogs.com/huyq2002/archive/2012/01/17/2324609.html但是它有一个问题,所有规则都保存在配置文件-web.config或app.config中。在生产环境中,系统需要从数据库中加载规则,并允许在运行时修改安全规则。下面详细绍如何扩展安全模块 Microsoft Enterprise Library Security Application Block,从SQL Server数据库加载权限规则。 阅读全文
posted @ 2012-03-22 13:22 胡以谦 阅读(2261) 评论(1) 推荐(2) 编辑
  2012年1月19日
摘要: 上篇文章我们就Asp.net MVC权限问题做了一个较为全面的解决方案,这篇我们就多语言问题进行探讨。全球化在IT行业,具有全球化和本地化特性的计算机软件,可以适应不同的语言,地区差异和目标市场的业务要求。如果一个网站的目标来自 世界不同地区的的用户,这些用户可能会希望看到自己的语言的网站内容。达到全球化,我们的应用程序,将满足以下要求:(1)它可以用不同的语言显示信息内容。(2)自动检测用户的浏览器的语言。(3)允许用户方便的更改系统的默认语言,并且系统记住客户的选择。Culture和UICulture在传统的.net程序中,全球化主要依靠Culture和UICulture两个概念。Cult 阅读全文
posted @ 2012-01-19 10:48 胡以谦 阅读(3947) 评论(6) 推荐(5) 编辑
  2012年1月17日
摘要: 上面一篇文章我们简单介绍了一个一级菜单的应用。在实际的设计中菜单的的信息基本存储在sitemap的xml文件中,菜单还涉及到权限问题。本章将介绍并举例说明如何设计基于规则的MVC应用程序的安全性。基于角色的授权在计算机系统的安全,基于角色的访问控制(RBAC)是一个系统访问限制授权用户的方法。在一个组织内,角色创建的各项工作职能。来执行某些操作的权限分配给特定的角色。业务上我们必须定义一套针对不同的业务功能的角色体系,例如管理员,数据管理员,普通用户的角色... ...基于规则的访问控制以规则为基础的授权框架,一般利用XML文档存储简单的规则设置,来控制系统访问权限。(也可以存储在数据库中,读 阅读全文
posted @ 2012-01-17 14:13 胡以谦 阅读(6400) 评论(7) 推荐(6) 编辑
  2012年1月6日
摘要: 在VS2010中利用Asp.net MVC自带的模板生成的菜单是固定的,没办法更改,下面利用PartialView实现简单的一级菜单。1) 修改_Layout.cshtml,在<nav>部分改成@{ Html.RenderAction("Menu", "Home");} <div class="float-right"> <section id="login"> @Html.Partial("_LogOnPartial") </section> & 阅读全文
posted @ 2012-01-06 16:35 胡以谦 阅读(4319) 评论(6) 推荐(1) 编辑
  2011年12月16日
摘要: 如果你现在正在用asp.net mvc 3 开发web程序,想让自己的页面有比较好的效果但是对CSS不熟悉的话,可以参考以下视频。很简单的设置可以做出比较不错的效果。http://www.youtube.com/watch?v=0O0gi2m_p_o&feature=player_embedded免费模板网址http://www.freecsstemplates.org/我做了几个比较简单的例子示例代码如下:http://files.cnblogs.com/huyq2002/CSSTemplate.zip如果要替换模板1)把下载下来的images拷贝到对应的image目录2)拷贝sty 阅读全文
posted @ 2011-12-16 10:09 胡以谦 阅读(3750) 评论(5) 推荐(1) 编辑
  2011年8月18日
摘要: 在上一篇文章中,我们利用Entity framework来针对UnitOfWork,Repository设计模式做了一个非常简单的实现。但是这个实现有很多问题。我们现在逐步解决问题,形成一个具有好的扩展性的方案。新的类图(不包含两个Repository,我们暂时不考虑Repository的问题):现在解释一下新的设计中各个类的职责:名称类型描述IUnitOfWork接口UnitOfWork模式的核心接口,客户端代码将与IUnitOfWork打交道,主要调用Commit方法,例如以下代码:public CustomerInfo Insert(CustomerInfo customer){ ... 阅读全文
posted @ 2011-08-18 14:49 胡以谦 阅读(4072) 评论(11) 推荐(4) 编辑
  2011年8月16日
摘要: 摘要:在上一篇文章中,我们比较了ADO.net和其他Data Provider,以提高应用程序数据访问层的性能。下面我们的主题将是采用一些常用的设计模式来使用ORM(通常是N-hibernate和EF)建立数据访问层---UnitOfWork,Repository设计模式和SOA。其实ORM不应该属于这个系列的范围,因为它不会帮助改善我们的第一个应用程序的性能。ORM并不适合快速数据交易系统(要求有很好的实时性)。我们经常会遇到一个数据库事务,在不同的数据表上有操作需要,UnitOfWork结合Repository模式是通用的设计方法,例如:我们需要建立一个订单服务,其中有一个方法名为Crea 阅读全文
posted @ 2011-08-16 16:00 胡以谦 阅读(3799) 评论(1) 推荐(6) 编辑
  2011年8月8日
摘要: <<构建快速数据交易系统的思考>>系列将从软件架构设计的各个层面对提高系统性能方法和策略进行研究。本文是系列“构建快速数据交易系统”的第一篇文章,将就如何从数据访问机制层面来改善系统性能的方法进行探讨。架构决定了应用程序的性能。软件架构师经常相信,只要提高软件基础设施的性能(比如硬件资源)将足以解决一个应用程序的性能挑战,但不幸的是它已被证明在许多实际情况下都以失败而告终。系统性能是应用程序一个重要的指标,应当在整个项目生命周期的初始阶段就开始考虑,它将贯穿于整个生命周期和系统的各个组成部分。Data provider是应用程序和数据源之间的桥梁,主要用于从数据源检索数 阅读全文
posted @ 2011-08-08 15:44 胡以谦 阅读(2110) 评论(3) 推荐(1) 编辑
  2011年6月15日
摘要: 上面的列子我们实现了基于System.Threading.Tasks下面的组件封装的异步并行活动AsyncParallelActivity。为了完善这个例子我们还要实现一些并行工作流活动的基本功能1)设定MaxDegreeOfParallelism (并行数目控制)2)支持Cancellation (子任务取消)3)实现CacheMetaData (性能优化)我们先解释一下为什么需要Asynchronous Programming Model (APM)模式来实现并行,简单理解主要原因是同步执行会在同一个线程里面执行(InProcess),可以说.net framework中的异步编程都是利用 阅读全文
posted @ 2011-06-15 12:43 胡以谦 阅读(2157) 评论(10) 推荐(3) 编辑
  2011年5月28日
摘要: 此篇文章得到微软并行计算平台的Cristina Manu的热心帮助和大力支持,在此表示感谢。本系列的一些观点来自于她的发表的文章。Special thanks to Cristina for her great support on this article. Some ideas of this series come from her paper"WORKFLOW AND PARALLELEXTENSIONS IN .NET FRAMEWORK 4".Cristina Manu is SDET at Microsoft, working for Parallel Com 阅读全文
posted @ 2011-05-28 13:57 胡以谦 阅读(1480) 评论(2) 推荐(0) 编辑