zoukankan      html  css  js  c++  java
  • 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)单元测试层

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

     

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

  • 相关阅读:
    对线程的理解
    C#-设计模式-策略模式
    C#-设计模式-观察者模式
    C#-设计模式-模板方法
    C#-设计模式-适配器模式
    C#-设计模式-代理模式
    C#-设计模式-装饰模式
    C#-设计模式-简单工厂
    C#-设计模式-单例模式
    DotNet Core2.1 编写自己的中间件和后台服务
  • 原文地址:https://www.cnblogs.com/tenghoo/p/NHibernate_WCF_1.html
Copyright © 2011-2022 走看看