NHibernate+WCF项目实战(一)项目介绍与搭建

项目介绍

目前基于WCF和NHibernate进行项目开发,这两个东西我也接触不久,不过因为有了些项目的实践,所以多少有一些体会。打算分几个短文来介绍在项目中使用这些技术的一些心得。大致的思路是这样的!

使用NHibernate实现数据访问的工作,使用WCF对外提供Webservices接口。

在开发过程中,使用NUnit进行单元测试。使用WAS对发布的WCF服务进行压力测试。

所需知识

我会在文章中对 NHibernateWCF做简单的介绍。如果您对这个两个知识点毫无了解,最好先看看下面的系列文章:

 NHibernateNHibernate之旅

 WCFWCF之旅

准备工作

    创建一张用户表(UserInfo)

USE [WCF]
GO
/****** 对象:  Table [dbo].[UserInfo]    脚本日期: 11/11/2009 09:42:17 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[UserInfo](
    
[id] [int] IDENTITY(1,1NOT NULL,
    
[name] [varchar](100) COLLATE Chinese_PRC_CI_AS NULL,
    
[description] [varchar](1000) COLLATE Chinese_PRC_CI_AS NULL,
    
[state] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
 
CONSTRAINT [PK_UserInfo] PRIMARY KEY CLUSTERED 
(
    
[id] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ONON [PRIMARY]
ON [PRIMARY]

GO
SET ANSI_PADDING OFF

以下几篇都是围绕UserInfo进行开发,同时提供对UserInfo操作的接口。

第一篇、项目介绍与搭建;

第二篇、使用NHibername实现数据访问并进行单元测试;

第三篇、使用WCF对外提供Webservices接口并进行单元测试;

第四篇、使用WAS对Webservices接口进行压力测试。

项目搭建

采用分层的思路开发,每一层都建立的单独的项目。

1)实体层 (Model)

  用于持久化类和O/R Mapping操作。

2)数据访问层(DAL)

  使用HQL完成数据的读/写操作。

3)WCF契约层(Contract)

    定义WCF中的Contract。

4)WCF 服务层(Services)

   定义WCF中的Services。

5)WCF服务应用程序(Hosting)

    本项目通过寄宿IIS对外提供接口(webservices和get访问)。

6)单元测试层

 在开发的各个阶段完成相关单元测试工作。 

 

项目代码我会在最后一篇完成后提供下载。

posted @ 2009-11-11 10:20  青羽  阅读(6876)  评论(16编辑  收藏  举报