WCF步步为营(二):使用配置文件改变发布服务的方式

简介:

1. 打开上一个项目

image

2. 修改Program.cs, 注意注释掉的绿色部分,因为我们使用配置文件公布EndPoint

 

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using JackWangWCFService;

using System.ServiceModel;

namespace JackWangServiceHost

{

    class Program

    {

        static void Main(string[] args)

        {

            using (ServiceHost host=new ServiceHost(typeof(JackWangWCFService.Calc)))

            {

                //host.AddServiceEndpoint(typeof(JackWangWCFService.ICalc),

                //    new NetTcpBinding(), "net.tcp://localhost:9000/Add");

                host.Open();

                Console.Out.WriteLine("calc web service started at:"+DateTime.Now.ToString());

                Console.ReadLine();

            }

        }

    }

}

 

3.添加一个App.Config文件,注意Service 的name是实现服务的类,客户端访问的地址是http://localhost:9000/Add

 

<?xml version="1.0" encoding="utf-8" ?>

<configuration>

  <system.serviceModel>

    <services>

      <service name="JackWangWCFService.Calc" behaviorConfiguration="serviceBehavior">

        <endpoint  binding="basicHttpBinding"  contract="JackWangWCFService.ICalc" address="Add"></endpoint>

        <host>

          <baseAddresses>

            <add baseAddress="http://localhost:9000"/>

          </baseAddresses>

        </host>

      </service>

    </services>

    <behaviors>

      <serviceBehaviors>

        <behavior name="serviceBehavior">

          <serviceMetadata httpGetEnabled="true"/>

        </behavior>

      </serviceBehaviors>       

    </behaviors>

  </system.serviceModel>

</configuration> 

 

 

4.修改客户端的代码,注意这次使用的是http的传输方式

 

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.ServiceModel;

namespace JackWangServiceClient

{

    [ServiceContract]

    public interface ICalc

    {

        [OperationContract]

        long Add(int a, int b);

    }

    class Program

    {

        static void Main(string[] args)

        {

            ICalc proxy = ChannelFactory<ICalc>.CreateChannel(new BasicHttpBinding(),

                new EndpointAddress("http://localhost:9000/Add"));

            long result = proxy.Add(50, 60);

            Console.Out.WriteLine("result from server is:" + result);

            Console.ReadLine();

        }

    }

}

本文转自敏捷的水博客园博客,原文链接http://www.cnblogs.com/cnblogsfans/archive/2008/07/02/1234209.html如需转载请自行联系原作者


王德水

相关文章
|
前端开发
WCF更新服务引用报错的原因之一
WCF更新服务引用报错的原因之一
|
C# 数据安全/隐私保护
c#如何创建WCF服务到发布(SqlServer版已经验证)
c#如何创建WCF服务到发布(SqlServer版已经验证)
73 0
|
安全 数据库连接 数据库
WCF服务创建到发布(SqlServer版)
在本示例开始之前,让我们先来了解一下什么是wcf? wcf有哪些特点? wcf是一个面向服务编程的综合分层架构。该架构的项层为服务模型层。 使用户用最少的时间和精力建立自己的软件产品和外界通信的模型。它使得开发者能够建立一个跨平台的安全、可信赖、事务性的解决方案。且能与已有系统兼容写作。 简单概括就是:一组数据通信的应用程序开发接口。
111 0
|
XML 网络协议 IDE
WCF基础教程(三)——WCF通信过程及配置文件解析
WCF基础教程(三)——WCF通信过程及配置文件解析
368 0
WCF基础教程(三)——WCF通信过程及配置文件解析
|
C++
WCF基础教程(二)——解析iis8和iis8.5+VS2013发布wcf服务问题
WCF基础教程(二)——解析iis8和iis8.5+VS2013发布wcf服务问题
138 0
WCF基础教程(二)——解析iis8和iis8.5+VS2013发布wcf服务问题
WCF使用纯代码的方式进行服务寄宿
服务寄宿的目的是为了开启一个进程,为WCF服务提供一个运行的环境。通过为服务添加一个或者多个终结点,使之暴露给潜在的服务消费,服务消费者通过匹配的终结点对该服务进行调用,除去上面的两种寄宿方式,还可以以纯代码的方式实现服务的寄宿工作。
891 0
|
Windows
WCF服务寄宿到IIS
一.WCF简介: Windows Communication Foundation(WCF)是由微软开发的一系列支持数据通信的应用程序框架,可以翻译为Windows 通讯开发平台。整合了原有的windows通讯的 .net Remoting,WebService,Socket的机制,并融合有HTTP和FTP的相关技术。
1096 0
WCF服务自我寄宿
WCF服务的寄宿方式 WCF寄宿方式是一种非常灵活的操作,可以寄宿在各种进程之中,常见的寄宿有: IIS服务、Windows服务、Winform程序、控制台程序中进行寄宿,从而实现WCF服务的运行,为调用者方便、高效提供服务调用。
1035 0
|
网络架构
(纯代码)快速创建wcf rest 服务
因为有一个小工具需要和其它的业务对接数据,所以就试一下看能不能弄一个无需配置快速对接的方法出来,百(以)度(讹)过(传)后(讹),最后还是对照wcf配置对象调试出来了: 1.创建WebHttpBinding 2.
1012 0
下一篇
无影云桌面