专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > WCF

一步步创办WCF 服务

发布时间:2011-06-23 13:51:41 文章来源:www.iduyao.cn 采编人员:星星草
一步步创建WCF 服务

1、创建WCF接口,创建普通的类库文件,不要创建WCF类库,不清楚原因的童鞋自己试一下,就知道两者的不同了,代码如下:

 

using System.Collections.Generic;
using System.ServiceModel;
using WCF.EF.Entity.DataContract;

namespace WCF.ServiceInterface
{
    [ServiceContract]
    public interface IGroupCustomers
    {
        [OperationContract]
        List<GroupCustomerInfoDCT> GetGroupCustomersList();
    }
}

2、创建实体,此项目使用的是Entity FrameWork6.1.2,网上有很多项目的步骤,在此不详细说明了,然后建立数据契约文件,数据契约的数据最终来源于数据库实体,所以将数据契约放在此:

using System;
using System.Runtime.Serialization;

namespace WCF.EF.Entity.DataContract
{
    [DataContract]
    public class GroupCustomerInfoDCT
    {
        /// <summary>
        /// 团队名称
        /// </summary>
        [DataMember]
        public string GroupName { get; set; }
        /// <summary>
        /// 分组号
        /// </summary>
        /// <value>The grouping NO.</value>
        [DataMember]
        public int GroupingNO { set; get; }

        private string _ProductDept = string.Empty;

        [DataMember]
        public string ProductDept
        {
            get { return _ProductDept; }
            set { _ProductDept = value; }
        }

        private string _BirthDayDate = string.Empty;

        [DataMember]
        public string BirthDayDate
        {
            get { return _BirthDayDate; }
            set { _BirthDayDate = value; }
        }
        /// <summary>
        /// 客户ID
        /// </summary>
        private int _ID;

        /// <summary>
        /// 客户姓名
        /// </summary>
        private string _Name = string.Empty;

        /// <summary>
        /// 客户性别
        /// </summary>
        private System.Nullable<int> _Sex;

        /// <summary>
        /// 拼音姓
        /// </summary>
        private string _FirstName = string.Empty;

        /// <summary>
        /// 拼音名
        /// </summary>
        private string _LastName = string.Empty;

        /// <summary>
        /// 拼音姓名
        /// </summary>
        private string _SpellName = string.Empty;

        [DataMember]
        public string SpellName
        {
            get { return _SpellName; }
            set { _SpellName = value; }
        }

        /// <summary>
        /// 用户名
        /// </summary>
        private string _FullName = string.Empty;

        /// <summary>
        /// 生日
        /// </summary>
        private System.Nullable<System.DateTime> _BirthDay;

        /// <summary>
        /// 手机
        /// </summary>
        private string _Mobile = string.Empty;

        /// <summary>
        /// 邮件
        /// </summary>
        private string _EMAIL = string.Empty;

        /// <summary>
        /// 办公电话
        /// </summary>
        private string _OfficeTel = string.Empty;

        /// <summary>
        /// 家庭电话
        /// </summary>
        private string _FamilyTel = string.Empty;

        /// <summary>
        /// 首选联系方式
        /// </summary>
        private System.Nullable<int> _FirstContactMethod;

        /// <summary>
        /// VIP卡
        /// </summary>
        private string _VipCardID = string.Empty;

        /// <summary>
        /// 地址
        /// </summary>
        private string _Adress = string.Empty;

        /// <summary>
        /// 密码
        /// </summary>
        private string _Password = string.Empty;

        /// <summary>
        /// 客人级别
        /// </summary>
        private System.Nullable<int> _MemLevel;

        /// <summary>
        /// 前台资料是否完备
        /// </summary>
        private System.Nullable<int> _FileIsOK;

        /// <summary>
        /// 审核状态
        /// </summary>
        private System.Nullable<int> _ApprovalStatusID;

        /// <summary>
        /// 审核人
        /// </summary>
        private System.Nullable<int> _ApprovalBy;

        /// <summary>
        /// 审核时间
        /// </summary>
        private System.Nullable<System.DateTime> _ApprovalDate;

        /// <summary>
        /// 是否会员
        /// </summary>
        private System.Nullable<int> _IsMember;

        /// <summary>
        /// 是否有效
        /// </summary>
        private System.Nullable<int> _IsValid;

        /// <summary>
        /// 注册来源部门Id
        /// </summary>
        private System.Nullable<int> _RegistSource;

        /// <summary>
        /// 注册人员
        /// </summary>
        private System.Nullable<int> _RegistBy;

        /// <summary>
        /// 注册时间
        /// </summary>
        private System.Nullable<System.DateTime> _RegistDate;

        /// <summary>
        /// 最新更新时间
        /// </summary>
        private System.Nullable<System.DateTime> _LastUpdate;

        /// <summary>
        /// 消费金额(非团)
        /// </summary>
        private System.Nullable<double> _ConsumeAmt;

        /// <summary>
        /// 消费次数(非团)
        /// </summary>
        private System.Nullable<int> _ConsumeTimes;

        /// <summary>
        /// 消费金额(团)
        /// </summary>
        private System.Nullable<double> _GroupConsumeAmt;

        /// <summary>
        /// 消费次数(团)
        /// </summary>
        private System.Nullable<int> _GroupConsumeTimes;

        /// <summary>
        /// 身份证号
        /// </summary>
        private string _IDNo = string.Empty;

        /// <summary>
        /// 是否黑名单
        /// </summary>
        private System.Nullable<int> _IsBlackPerson;

        /// <summary>
        /// 团队客人子表ID
        /// </summary>
        private int _Oci_Id;

        /// <summary>
        /// 大订单ID
        /// </summary>
        private System.Nullable<int> _Main_Order_Id;

        /// <summary>
        /// 子订单ID
        /// </summary>
        private System.Nullable<int> _Group_Order_Id;

        /// <summary>
        /// 团队ID
        /// </summary>
        private int _Group_Id;

        /// <summary>
        /// 客户ID
        /// </summary>
        private System.Nullable<int> _Customer_Id;

        /// <summary>
        /// 价格类型
        /// </summary>
        private System.Nullable<int> _Price_Type;

        /// <summary>
        /// 保险金额
        /// </summary>
        private System.Nullable<double> _Insurance;

        /// <summary>
        /// 旅游证据类型
        /// </summary>
        private System.Nullable<int> _Passport_type_id;

        /// <summary>
        /// 旅游证件号
        /// </summary>
        private string _Passport_id = string.Empty;

        /// <summary>
        /// 签发城市
        /// </summary>
        private System.Nullable<int> _Issue_city;

        /// <summary>
        /// 签发机关
        /// </summary>
        private string _Issue_unit = string.Empty;

        /// <summary>
        /// 签发日期
        /// </summary>
        private string _Issue_date = string.Empty;

        /// <summary>
        /// 有效期
        /// </summary>
        private string _Valid_date = string.Empty;

        /// <summary>
        /// 护照目的地国家
        /// </summary>
        private System.Nullable<int> _Departure_card;

        /// <summary>
        /// 客人状态
        /// </summary>
        private System.Nullable<int> _Status;

        /// <summary>
        /// 审核状态
        /// </summary>
        private System.Nullable<int> _Auditing_Sign;

        /// <summary>
        /// 审核人
        /// </summary>
        private System.Nullable<int> _Employee_Id;

        /// <summary>
        /// 审核时间
        /// </summary>
        private System.Nullable<System.DateTime> _Auditing_Time;

        /// <summary>
        /// 审核信息
        /// </summary>
        private string _Check_Info = string.Empty;
        /// <summary>
        /// 审核员工姓名
        /// </summary>
        private string strEmployeeName = string.Empty;

        [DataMember]
        public string EmployeeName
        {
            get { return strEmployeeName; }
            set { strEmployeeName = value; }
        }

        /// <summary>
        /// 审核标志名称
        /// </summary>
        private string strAuditingSignName = string.Empty;

        [DataMember]
        public string AuditingSignName
        {
            get { return strAuditingSignName; }
            set { strAuditingSignName = value; }
        }
        /// <summary>
        /// 分房要求
        /// </summary>
        private System.Nullable<int> _Room_require;

        /// <summary>
        /// 分房要求中文
        /// </summary>
        private string _Room_requireName = string.Empty;

        [DataMember]
        public string Room_requireName
        {
            get { return _Room_requireName; }
            set { _Room_requireName = value; }
        }

        /// <summary>
        /// 分房号
        /// </summary>
        private string _Room_no = string.Empty;

        /// <summary>
        /// 特殊需求
        /// </summary>
        private string _Special_require = string.Empty;

        /// <summary>
        /// 通知信息
        /// </summary>
        private System.Nullable<int> _Inform_Flag;

        /// <summary>
        /// 销售人ID
        /// </summary>
        private int _Input_User;

        /// <summary>
        /// 销售部门ID
        /// </summary>
        private string _Input_Dept = string.Empty;

        /// <summary>
        /// 大订单No
        /// </summary>
        private string _Main_Order_NO = string.Empty;

        /// <summary>
        /// 订单分房号
        /// </summary>
        private string _Order_Room_NO = string.Empty;

        [DataMember]
        public string Order_Room_NO
        {
            get { return _Order_Room_NO; }
            set { _Order_Room_NO = value; }
        }

        /// <summary>
        /// 团队编号
        /// </summary>
        private string _Group_NO = string.Empty;

        [DataMember]
        public string Group_NO
        {
            get { return _Group_NO; }
            set { _Group_NO = value; }
        }



        /// <summary>
        /// 出生城市
        /// </summary>
        private string _Birth_Location = string.Empty;

        [DataMember]
        public string Birth_Location
        {
            get { return _Birth_Location; }
            set { _Birth_Location = value; }
        }

        /// <summary>
        /// 子订单No
        /// </summary>
        private string _Sub_Order_NO = string.Empty;

        /// <summary>
        /// 性别文字
        /// </summary>
        private string _SexName = string.Empty;

        /// <summary>
        /// 价格类型名字
        /// </summary>
        private string _Price_TypeName = string.Empty;

        /// <summary>
        /// 首选联系方式名字
        /// </summary>
        private string _FirstContactMethodName = string.Empty;

        /// <summary>
        /// 旅游证件名称
        /// </summary>
        private string _Passport_type_Name = string.Empty;

        /// <summary>
        /// 签发城市名字
        /// </summary>
        private string _Issue_cityName = string.Empty;

        /// <summary>
        /// 销售部门名字
        /// </summary>
        private string _Input_DeptName = string.Empty;

        /// <summary>
        /// 销售人名字
        /// </summary>
        private string _Input_UserName = string.Empty;

        /// <summary>
        /// 客人状态名字
        /// </summary>
        private string _StatusName = string.Empty;

        /// <summary>
        /// 国内出境
        /// </summary>
        private int _SubAttribute;

        /// <summary>
        ///  选择需要
        /// </summary>
        private int intSelectUse;

        [DataMember]
        public int IntSelectUse
        {
            get { return intSelectUse; }
            set { intSelectUse = value; }
        }

        [DataMember]
        public int SubAttribute
        {
            get { return _SubAttribute; }
            set { _SubAttribute = value; }
        }

        [DataMember]
        public string StatusName
        {
            get { return _StatusName; }
            set { _StatusName = value; }
        }

        [DataMember]
        public string Input_DeptName
        {
            get { return _Input_DeptName; }
            set { _Input_DeptName = value; }
        }

        [DataMember]
        public string Input_UserName
        {
            get { return _Input_UserName; }
            set { _Input_UserName = value; }
        }

        [DataMember]
        public string Issue_cityName
        {
            get { return _Issue_cityName; }
            set { _Issue_cityName = value; }
        }

        [DataMember]
        public string Passport_type_Name
        {
            get { return _Passport_type_Name; }
            set { _Passport_type_Name = value; }
        }

        [DataMember]
        public string FirstContactMethodName
        {
            get { return _FirstContactMethodName; }
            set { _FirstContactMethodName = value; }
        }

        [DataMember]
        public string Price_TypeName
        {
            get { return _Price_TypeName; }
            set { _Price_TypeName = value; }
        }

        [DataMember]
        public string SexName
        {
            get { return _SexName; }
            set { _SexName = value; }
        }

        [DataMember]
        public int ID
        {
            get { return _ID; }
            set { _ID = value; }
        }

        [DataMember]
        public string Name
        {
            get { return _Name; }
            set { _Name = value; }
        }

        [DataMember]
        public System.Nullable<int> Sex
        {
            get { return _Sex; }
            set { _Sex = value; }
        }

        [DataMember]
        public string FirstName
        {
            get { return _FirstName; }
            set { _FirstName = value; }
        }

        [DataMember]
        public string LastName
        {
            get { return _LastName; }
            set { _LastName = value; }
        }

        [DataMember]
        public string FullName
        {
            get { return _FullName; }
            set { _FullName = value; }
        }

        [DataMember]
        public System.Nullable<System.DateTime> BirthDay
        {
            get { return _BirthDay; }
            set { _BirthDay = value; }
        }

        [DataMember]
        public string Mobile
        {
            get { return _Mobile; }
            set { _Mobile = value; }
        }

        [DataMember]
        public string EMAIL
        {
            get { return _EMAIL; }
            set { _EMAIL = value; }
        }

        [DataMember]
        public string OfficeTel
        {
            get { return _OfficeTel; }
            set { _OfficeTel = value; }
        }

        [DataMember]
        public string FamilyTel
        {
            get { return _FamilyTel; }
            set { _FamilyTel = value; }
        }

        [DataMember]
        public System.Nullable<int> FirstContactMethod
        {
            get { return _FirstContactMethod; }
            set { _FirstContactMethod = value; }
        }

        [DataMember]
        public string VipCardID
        {
            get { return _VipCardID; }
            set { _VipCardID = value; }
        }

        [DataMember]
        public string Adress
        {
            get { return _Adress; }
            set { _Adress = value; }
        }

        [DataMember]
        public string Password
        {
            get { return _Password; }
            set { _Password = value; }
        }

        [DataMember]
        public System.Nullable<int> MemLevel
        {
            get { return _MemLevel; }
            set { _MemLevel = value; }
        }

        [DataMember]
        public System.Nullable<int> FileIsOK
        {
            get { return _FileIsOK; }
            set { _FileIsOK = value; }
        }

        [DataMember]
        public System.Nullable<int> ApprovalStatusID
        {
            get { return _ApprovalStatusID; }
            set { _ApprovalStatusID = value; }
        }

        [DataMember]
        public System.Nullable<int> ApprovalBy
        {
            get { return _ApprovalBy; }
            set { _ApprovalBy = value; }
        }

        [DataMember]
        public System.Nullable<System.DateTime> ApprovalDate
        {
            get { return _ApprovalDate; }
            set { _ApprovalDate = value; }
        }

        [DataMember]
        public System.Nullable<int> IsMember
        {
            get { return _IsMember; }
            set { _IsMember = value; }
        }

        [DataMember]
        public System.Nullable<int> IsValid
        {
            get { return _IsValid; }
            set { _IsValid = value; }
        }

        [DataMember]
        public System.Nullable<int> RegistSource
        {
            get { return _RegistSource; }
            set { _RegistSource = value; }
        }

        [DataMember]
        public System.Nullable<int> RegistBy
        {
            get { return _RegistBy; }
            set { _RegistBy = value; }
        }

        [DataMember]
        public System.Nullable<System.DateTime> RegistDate
        {
            get { return _RegistDate; }
            set { _RegistDate = value; }
        }

        [DataMember]
        public System.Nullable<System.DateTime> LastUpdate
        {
            get { return _LastUpdate; }
            set { _LastUpdate = value; }
        }

        [DataMember]
        public System.Nullable<double> ConsumeAmt
        {
            get { return _ConsumeAmt; }
            set { _ConsumeAmt = value; }
        }

        [DataMember]
        public System.Nullable<int> ConsumeTimes
        {
            get { return _ConsumeTimes; }
            set { _ConsumeTimes = value; }
        }

        [DataMember]
        public System.Nullable<double> GroupConsumeAmt
        {
            get { return _GroupConsumeAmt; }
            set { _GroupConsumeAmt = value; }
        }

        [DataMember]
        public System.Nullable<int> GroupConsumeTimes
        {
            get { return _GroupConsumeTimes; }
            set { _GroupConsumeTimes = value; }
        }

        [DataMember]
        public string IDNo
        {
            get { return _IDNo; }
            set { _IDNo = value; }
        }

        [DataMember]
        public System.Nullable<int> IsBlackPerson
        {
            get { return _IsBlackPerson; }
            set { _IsBlackPerson = value; }
        }

        [DataMember]
        public int Oci_Id
        {
            get { return _Oci_Id; }
            set { _Oci_Id = value; }
        }

        [DataMember]
        public System.Nullable<int> Main_Order_Id
        {
            get { return _Main_Order_Id; }
            set { _Main_Order_Id = value; }
        }

        [DataMember]
        public System.Nullable<int> Group_Order_Id
        {
            get { return _Group_Order_Id; }
            set { _Group_Order_Id = value; }
        }

        [DataMember]
        public int Group_Id
        {
            get { return _Group_Id; }
            set { _Group_Id = value; }
        }

        [DataMember]
        public System.Nullable<int> Customer_Id
        {
            get { return _Customer_Id; }
            set { _Customer_Id = value; }
        }

        [DataMember]
        public System.Nullable<int> Price_Type
        {
            get { return _Price_Type; }
            set { _Price_Type = value; }
        }

        [DataMember]
        public System.Nullable<double> Insurance
        {
            get { return _Insurance; }
            set { _Insurance = value; }
        }

        [DataMember]
        public System.Nullable<int> Passport_type_id
        {
            get { return _Passport_type_id; }
            set { _Passport_type_id = value; }
        }

        [DataMember]
        public string Passport_id
        {
            get { return _Passport_id; }
            set { _Passport_id = value; }
        }

        [DataMember]
        public System.Nullable<int> Issue_city
        {
            get { return _Issue_city; }
            set { _Issue_city = value; }
        }

        [DataMember]
        public string Issue_unit
        {
            get { return _Issue_unit; }
            set { _Issue_unit = value; }
        }

        [DataMember]
        public string Issue_date
        {
            get { return _Issue_date; }
            set { _Issue_date = value; }
        }

        [DataMember]
        public string Valid_date
        {
            get { return _Valid_date; }
            set { _Valid_date = value; }
        }

        [DataMember]
        public System.Nullable<int> Departure_card
        {
            get { return _Departure_card; }
            set { _Departure_card = value; }
        }

        [DataMember]
        public System.Nullable<int> Status
        {
            get { return _Status; }
            set { _Status = value; }
        }

        [DataMember]
        public System.Nullable<int> Auditing_Sign
        {
            get { return _Auditing_Sign; }
            set { _Auditing_Sign = value; }
        }

        [DataMember]
        public System.Nullable<int> Employee_Id
        {
            get { return _Employee_Id; }
            set { _Employee_Id = value; }
        }

        [DataMember]
        public System.Nullable<System.DateTime> Auditing_Time
        {
            get { return _Auditing_Time; }
            set { _Auditing_Time = value; }
        }

        [DataMember]
        public string Check_Info
        {
            get { return _Check_Info; }
            set { _Check_Info = value; }
        }

        [DataMember]
        public System.Nullable<int> Room_require
        {
            get { return _Room_require; }
            set { _Room_require = value; }
        }

        [DataMember]
        public string Room_no
        {
            get { return _Room_no; }
            set { _Room_no = value; }
        }

        [DataMember]
        public string Special_require
        {
            get { return _Special_require; }
            set { _Special_require = value; }
        }

        [DataMember]
        public System.Nullable<int> Inform_Flag
        {
            get { return _Inform_Flag; }
            set { _Inform_Flag = value; }
        }

        [DataMember]
        public int Input_User
        {
            get { return _Input_User; }
            set { _Input_User = value; }
        }

        [DataMember]
        public string Input_Dept
        {
            get { return _Input_Dept; }
            set { _Input_Dept = value; }
        }

        [DataMember]
        public string Main_Order_NO
        {
            get { return _Main_Order_NO; }
            set { _Main_Order_NO = value; }
        }

        [DataMember]
        public string Sub_Order_NO
        {
            get { return _Sub_Order_NO; }
            set { _Sub_Order_NO = value; }
        }

        //OrderContactPerson-订单联系人
        private string _OrderContactPerson = string.Empty;

        [DataMember]
        public string OrderContactPerson
        {
            get { return _OrderContactPerson; }
            set { _OrderContactPerson = value; }
        }

        //OrderContactInfo-订单联系方式
        private string _OrderContactInfo = string.Empty;

        [DataMember]
        public string OrderContactInfo
        {
            get { return _OrderContactInfo; }
            set { _OrderContactInfo = value; }
        }

        //子订单备注
        private string _SubOrderRemark = string.Empty;

        [DataMember]
        public string SubOrderRemark
        {
            get { return _SubOrderRemark; }
            set { _SubOrderRemark = value; }
        }

        /// <summary>
        /// 邮轮房型
        /// </summary>
        [DataMember]
        public string CruiseTypeName { get; set; }

        /// <summary>
        /// 附加服务
        /// </summary>
        [DataMember]
        public string AddServices { get; set; }

        /// <summary>
        /// 观光套餐服务
        /// </summary>
        [DataMember]
        public string AddSortServices { get; set; }
        /// <summary>
        /// 是否是邮轮团队
        /// </summary>
        [DataMember]
        public bool IsCruiseGroup { get; set; }

        /// <summary>
        /// 会员级别
        /// </summary>
        [DataMember]
        public string MemLevelText { get; set; }
        /// <summary>
        /// 订单下单日期
        /// </summary>
        [DataMember]
        public DateTime InputDate { get; set; }
        /// <summary>
        /// 联运政策城市
        /// </summary>
        [DataMember]
        public string CityName { get; set; }
    }
}

2、创建接口的实现类:

using System;
using System.Collections.Generic;
using System.Linq;
using WCF.EF.Entity;
using WCF.EF.Entity.DataContract;
using WCF.ServiceInterface;

namespace WCF.ServiceImpl
{
    public class GroupCustomers:IGroupCustomers,IDisposable
    {

        public List<EF.Entity.DataContract.GroupCustomerInfoDCT> GetGroupCustomersList()
        {
            //可以得到最终执行的SQL语句
            HibernatingRhinos.Profiler.Appender.EntityFramework.EntityFrameworkProfiler.Initialize();

            using (CYTSERPEntities db = new CYTSERPEntities())
            {


                var tmp = (from p in db.VW_Group_CUSTOMER_INFO
                    where p.Main_Order_Id == 3814
                    //join m in db.CM_Member on p.Customer_Id equals m.ID into ms
                    //from m in ms.DefaultIfEmpty()
                    select new GroupCustomerInfoDCT
                    {
                        Group_Id =(int)p.Group_Id,
                        Group_NO = (p.Grouping_NO).ToString()
                    }).ToList();

                return tmp;
            }
        }

        public void Dispose()
        {
            
        }
    }
}

 

4、创建Host

友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: