从配置文件实现WCF的调用

使用配置文件

1.创建一个类库

添加”System.ServiceModel“引用

IHelloService:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using System.ServiceModel;
namespace wcfService
{
    [ServiceContract]
public     interface IHelloService
    {
        [OperationContract]
        DateTime GetDataTime();
          [OperationContract]
        DataTable GetUserInfo();
    }
}

2.创建一个windows窗体程序

添加”System.ServiceModel“,还有项目wcfservice层的引用

HelloService:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using System.Data.SqlClient;
using wcfService;
namespace WinformHello
{
public    class HelloService:IHelloService
    {

        public DateTime GetDataTime()
        {
            return DateTime.Now;
        }

        public System.Data.DataTable GetUserInfo()
        {
            string sql = @"Data Source=.;Initial Catalog=Students;User ID=sa;Password=abcd1234!";
            SqlConnection conn = new SqlConnection();
            SqlDataAdapter sda = new SqlDataAdapter("select  * from student",conn);
            //DataSet ds = new DataSet();
            DataTable dt = new DataTable();
            sda.Fill(dt);
            return dt;
        }
    }
}

App.config:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup>
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
    </startup>
  <system.serviceModel>
    <services>
      <service name="WinformHello.HelloService" behaviorConfiguration="TestBehavior">
        <host>
          <baseAddresses>
            <add baseAddress="http://localhost:8080/Hello"/>
          </baseAddresses>
        </host>
        <endpoint address="" binding="basicHttpBinding" contract="wcfService.IHelloService">

        </endpoint>
      </service>
    </services>

    <behaviors>
      <serviceBehaviors>
        <behavior name="TestBehavior">
          <serviceMetadata httpGetEnabled="true"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>

  </system.serviceModel>
</configuration>

Form1:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.ServiceModel;

namespace WinformHello
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        ServiceHost host = null;

        private void button1_Click(object sender, EventArgs e)
        {
            host = new ServiceHost(typeof(WinformHello.HelloService));
            host.Open();
            label1.Text = "服务已启动……";
        }
    }
}

时间: 2024-08-07 04:33:32

从配置文件实现WCF的调用的相关文章

WCF系列之WCF服务调用方式

WCF服务调用通过两种常用的方式:一种是借助代码生成工具SvcUtil.exe或者添加服务引用的方式,一种是通过ChannelFactory直接创建服务代理对象进行服务调用. 通过SvcUtil.exe的方式调用服务 SvcUtil.exe是一个命令行工具,位于:C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin目录下,可以将SvcUtil.exe添加到VS2010中方便以后的运用,添加方式:在VS2010的Tools菜单中选择External T

WCF初探-10:WCF客户端调用服务

创建WCF 服务客户端应用程序需要执行下列步骤: 获取服务终结点的服务协定.绑定以及地址信息 使用该信息创建 WCF 客户端 调用操作 关闭该 WCF 客户端对象 WCF客户端调用服务存在以下特点: 服务和客户端使用托管属性.接口和方法对协定进行建模. 若要连接客户端应用程序中的服务,则需要获取该服务协定的类型信息.通常,我们使用Svcutil.exe(ServiceModel Metadata Utility Tool)来完成,也可以直接在客户端项目上引用服务地址完成.它们会从服务中下载元数据

(转)WCF中调用WebService出错,大家帮忙看看,回答就有分

http://bbs.csdn.net/topics/390542345 在WCF项目里面添加了一个WebService引用,然后在我们调用这个WCF服务时,老出错,提示在 ServiceModel 客户端配置部分中,找不到引用协定“HISInterfaceService.SmsAPIPortType”的默认终结点元素.这可能是因为未找到应用程序的配置文件,或者是因为客户端元素中找不到与此协定匹配的终结点元素.我在网上也搜了一下这个错误,也在配置文件中添加了WebService的终结点什么的,求

转载——Java与WCF交互(二):WCF客户端调用Java Web Service

在上篇< Java与WCF交互(一):Java客户端调用WCF服务>中,我介绍了自己如何使用axis2生成java客户端的悲惨经历.有同学问起使用什么协议,经初步验证,发现只有wsHttpBinding可行,而NetTcpBinding不可行,具体原因待查.昨晚回去重新测试WCF客户端调用Java Web Service,并将过程公布如下: 其实本不需要做web service,只是原来公开的经典的Web service像(http://soapinterop.java.sun.com/rou

初识WCF之使用配置文件部署WCF应用程序

二月份的开头,小编依旧继续着项目开发之路,开始接触全新的知识,EF,WCF,MVC等,今天小编来简单的总结一下有关于WCF的基础知识,学习之前,小编自己给自己提了两个问题,WCF是什么?WCF能用来做什么?WCF具有哪些优点?带着这样的问题,小编开始进行了一番搜索,一下是小编整理的结果. WCF是什么? WCF(Windows Communication Foundation)是用于构建面向服务的应用程序的框架 ,是由微软发展的一组数据通信的应用程序开发接口.根据MSDN上的定义:WCF为.Ne

WCF多种调用方式兼容

原文:WCF多种调用方式兼容 1.能被ajax get 2.能post 3.wcf正常调用 实现: 1 [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)] 2 [JavascriptCallbackBehavior(UrlParameterName = "jsoncallback")] 3 public class WCFJsonTest :

WCF 服务调用 QueryRun

通过AX2012的WCF服务调用AX2012的方法时,如果方法里调用了QueryRun对象时,会报错,报错信息如下:System.ServiceModel.FaultException: 无法将类型为“Dynamics.Ax.Application.QueryRun”的对象强制转换为类型“Dynamics.Ax.Application.SysQueryRun”. Server stack trace: 在 System.ServiceModel.Channels.ServiceChannel.H

编程实现WCF客户端调用

新建一个控制台项目 Wcf.Client,添加对契约项目Wcf.Contract 的引用 1 using System; 2 using System.ServiceModel; 3 using Wcf.Contract; 4 5 namespace Wcf.Host 6 { 7 class MainClass 8 { 9 public static void Main() 10 { 11 ChannelFactory<IOperation> channelFactory = new Chan

【ITOO】WCF——Client调用WCF服务

三步走已经走了两步,一个WCF服务发布好之后,就等待着用的人来调用了,它只向外提供一个接口,暴露地址和契约,不暴露服务是如何实现的.接下来就说说客户端调用WCF服务的事. 其实说到调用就很简单了,首先我们要让我们所需的服务识别我们,即配置好同样的终结点信息,然后添加服务的引用,最后调用相应的方法即可. 如配置文件中: <applicationSettings> <WebDemoClient.Properties.Settings> <setting name="We