2008年10月20日

运用实体框架分层之困惑

    最近项目中使用了ado.net Entity Framework,但在分层构架时遇到疑惑,希望大家大家能指点迷津.

    系统构架是这样的:运用了ado.net Entity Framework作为数据层,逻辑层调用数据层,返回的数据类型为实体框架中的Model实体,如下代码:

Code

然后在表现层(web)层调用逻辑层的方法GetRole,因为返回的数据类型是IList<DataAccess.Role>,这样表现层(Web)必须引用数据层,感觉这样失去了分层的必要性。后来参考了“分层式体系结构中的实体框架”中运用WCF的形式在表现层(Web)和逻辑层中间增加了一个服务层,表现层(Web)通过Wcf服务的形式调用服务层,但感觉这样的话可能会影响效率(通过WCF服务的形式,感觉有点像EJB)。有没有更好的方法?

 

posted @ 2008-10-20 14:56 信仰 阅读(2010) 评论(15) 编辑

2007年9月13日

在asp.net页面中动态调用方法

系统原来是通过webservice实现的,现在需要在webservice访问cookie, 但在webservice中没法调用cookie,后来发现可以通过下列方法实现:具体例子如下 :

protected void Page_Load(object sender, EventArgs e)
    
{
        
//参数定义
        object[] args = new object[]{};

        Type type 
= this.GetType();

        
//动态调用方法,方法名可以通过参数传过来
        MethodInfo methodInfo = type.GetMethod("Test");

        
if (methodInfo != null)
        
{
            args 
= new object[methodInfo.GetParameters().Length];
            
//对方法名的参数进行赋值
            for (int i = 0; i < methodInfo.GetParameters().Length; i++)
            
{
                ParameterInfo param 
= methodInfo.GetParameters()[i];
                args[i] 
= Request.QueryString[param.Name];
            }

            
//执行方法
            methodInfo.Invoke(this, args);
        }

    }


    
public void Test(string Id,string name)
    
{
        
//Response.Write(Request.Cookies[0].Value);
        Response.Write(Id + ":" + name);
    }


    
public void TestA()
    
{
        Response.Write(
"dddd");
    }

posted @ 2007-09-13 15:14 信仰 阅读(435) 评论(1) 编辑

2007年6月21日

javascript校验函数

包含对字符串,整型、浮点、日期、电子邮件的校验

function Validator()
{
     
this.IsString=function (value)
     
{
          
var reg = /^[-]{0,1}[a-zA-Z0-9]{1,}$/;
    
return reg.test(value); 
     }
;
     
this.IsInt=function (value)
     
{
          
var reg = /^[-]{0,1}[0-9]{1,10}$/;
    
return reg.test(value);    
     }
;
     
this.IsFloat=function (value)
     
{
          
var reg = /^[-]{0,1}[0-9]{0,10}[.]{0,1}[0-9]{0,4}$/;
    
return reg.test(value);    
     }
;
     
this.IsEmail=function (value)
     
{
         
var reg = /^\w+((-\w+)|(\.\w+))*\@\w+((\.|-)\w+)*\.\w+$/;
   
return reg.test(value);  
     }

     
this.IsDate=function (value)
     
{
         
var reg =  /^[1-2]{1,1}[0-9]{3,3}[-]{1,1}[0-9]{1,2}[-]{1,1}[0-9]{1,2}$/;
   
return reg.test(value);
     }

}

posted @ 2007-06-21 17:32 信仰 阅读(83) 评论(0) 编辑

2004年12月13日

Microsoft Visual Studio .NET 2003 引导程序插件

下载地址:
http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=627921a0-d9e7-43d6-a293-72f9c370bd19
具体信息请参考:
http://www.msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetdep/html/dotnetframedepguid.asp

posted @ 2004-12-13 16:34 信仰 阅读(792) 评论(0) 编辑

2004年12月9日

asp.net连接oracle 9i错误终极解决方案

在用asp.net连接oralce 9i时,可能提示需要高版本的oralce或者说无法解析主机,一般来说都是aspnet的权限不足,解决方法如下:
在用户中选择aspnet属性>>隶属于>>添加>>administrators组,测试成功后,再删除administrators组即可!

posted @ 2004-12-09 09:35 信仰 阅读(1355) 评论(2) 编辑

导航

<2012年2月>
2930311234
567891011
12131415161718
19202122232425
26272829123
45678910

公告

昵称:信仰
园龄:7年5个月
粉丝:0
关注:0

搜索

 
 

常用链接

随笔档案

我的作品

  • 商都博客

最新评论