![]() |
#2
xiangweishan2011-12-02 09:47
|
只有本站会员才能查看附件,请 登录
项目为 mvc4.0 + wcf +Nhibernate
COMMON用于放公共方法
MODel大家都知道 就不多说了 代码采用codesmith生成
Maps层 主要有SqlDataService SqlMapHelper 用于执行sql语句操作 主要是Nhibernate 执行批量操作效率不是很高 所以用这一层
wcf大家最熟悉不过了 用于数据传输 wcfiisservice层是对wcfdataservice层的封装
wcfoperatorservice层用于客户端采用反射机制调用wcf层的方法
这点有必要给大家推荐一下 采用反射机制调用wcf方法 可以省很多代码 例如这是其中的一个调用方法

public void Create<T>(object m)
{
Type typeobj = typeof(T);
Type type = Type.GetType("FL_LIMS.WcfOperatorService." + typeobj.Name + "ServiceReference." + typeobj.Name + "ServiceClient");
Object obj = type.InvokeMember(null,BindingFlags.DeclaredOnly |
BindingFlags.Public | BindingFlags.NonPublic |
BindingFlags.Instance | BindingFlags.CreateInstance,
null,null, null);
string strReturn = (string)type.InvokeMember("Create",
BindingFlags.DeclaredOnly |
BindingFlags.Public | BindingFlags.NonPublic |
BindingFlags.Instance | BindingFlags.InvokeMethod,
null, obj, new object[] { m});
}
wcfoperatorservice层添加wcf服务引用{
Type typeobj = typeof(T);
Type type = Type.GetType("FL_LIMS.WcfOperatorService." + typeobj.Name + "ServiceReference." + typeobj.Name + "ServiceClient");
Object obj = type.InvokeMember(null,BindingFlags.DeclaredOnly |
BindingFlags.Public | BindingFlags.NonPublic |
BindingFlags.Instance | BindingFlags.CreateInstance,
null,null, null);
string strReturn = (string)type.InvokeMember("Create",
BindingFlags.DeclaredOnly |
BindingFlags.Public | BindingFlags.NonPublic |
BindingFlags.Instance | BindingFlags.InvokeMethod,
null, obj, new object[] { m});
}
只有本站会员才能查看附件,请 登录
webapp层界面采用EasyUI呈现界面
[ 本帖最后由 wangnannan 于 2011-11-29 10:14 编辑 ]