博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hello WCF - WCF应用起步
阅读量:6620 次
发布时间:2019-06-25

本文共 1707 字,大约阅读时间需要 5 分钟。

1. 构建服务层

    新建一个空白解决方案,增加一个项目用来存放WCF服务-HelloWCF.Service

    确保该项目引用System.Model

    1) 构建服务契约

    新建一个接口

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
namespace HelloWCF.Service
{
    [ServiceContract]
    
interface IHelloWorldService
    {
        [OperationContract]
        String GetMessage(String name);
    }
}

 

    2)根据服务契约实现服务

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace HelloWCF.Service
{
    
public 
class HelloWorldService : IHelloWorldService
    {
        
public String GetMessage(String name)
        {
            
return 
"
Hello world from 
" + name + 
"
!
";
        }
    }
}

 

 2. 寄宿服务于ASP.NET开发服务器

    右击解决方案,新建网站,选择一个空的网站

    给网站添加服务项目的引用

    打开网站属性页

    将使用动态端口设为false

    设置端口号, eg:8080

    给网站增加svc文件

    HelloWorldService.svc

   

<%
@ServiceHost Service
=
"
HelloWCF.Service.HelloWorldService
"
%>

 

 3. 新建客户端

   新建一个控制台项目用于客户端

   生成代理和配置文件

     在控制台使用svcutil.exe

     cd C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin

     C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin>svcutil.exe /out:HelloWorldServiceRef.cs /config:app.config

   定制客户端应用程序

      生成文件:HelloWorldServiceRef.cs和app.config添加到Client项目

      给项目添加System.ServiceModel引用

      修改Program.cs,代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace HelloWorldClient
{
    
class Program
    {
        
static 
void Main(
string[] args)
        {
            HelloWorldServiceClient client = 
new HelloWorldServiceClient();
            Console.WriteLine(client.GetMessage(
"
Mike Liu
"));
            Console.ReadKey();
        }
    }
}

   运行客户端应用程序

      Ctrl+F5启动HostDevServer

      右键Client项目,设为启动,Ctrl+F5启动

   运行结果:

       Hello World from David Gu

   把服务项目设为自动启动

       右键解决方案->属性->通用属性->启动项目->多启动项目

       HostDevServer: 开始执行不调试

       Client: 开始执行不调试

   启动:

       HostDevServer先启动,然后会自动启动Client

 

 

 

 

转载于:https://www.cnblogs.com/davidgu/archive/2012/03/08/2384898.html

你可能感兴趣的文章
搞懂Runnable Callable Future FutureTask 及应用
查看>>
Win10 环境安装RabbitMQ
查看>>
Java NIO(七)Selector
查看>>
死磕 java同步系列之synchronized解析
查看>>
MirrorSwipeLayout:自定义Layout,仿MIUI滑动返回(已开源)
查看>>
前端面试
查看>>
在MAC上查看自定义的ttf字体图标对应的Unicode编码
查看>>
小程序开发总结
查看>>
重绘与回流
查看>>
kettle变量使用
查看>>
win10系统设置webp文件默认用照片查看器打开的两种方法
查看>>
使用阿里云发送邮件
查看>>
【神器】vscode常用插件与配置
查看>>
Tomcat监听器设计思路
查看>>
react native 入门之javascript
查看>>
各大官网的隐藏彩蛋,我感觉自己打开了新世界的大门...
查看>>
UIScrollView中使用AutoLayout
查看>>
Redux中间件 结合网络上的资料一些个人理解(我好菜,菜出翔,看大佬的分享依旧看不懂)...
查看>>
BeeHive - iOS模块化之路
查看>>
ESlint对于团队开发的重要性
查看>>