Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

c# wcf

作者:我说°走了就别回来   发布日期:2026-05-16   浏览:110

// 定义服务契约
using System;
using System.ServiceModel;

[ServiceContract]
public interface ICalculatorService
{
    [OperationContract]
    double Add(double a, double b);
}

// 实现服务契约
public class CalculatorService : ICalculatorService
{
    public double Add(double a, double b)
    {
        return a + b;
    }
}

// 配置并启动WCF服务
using (ServiceHost host = new ServiceHost(typeof(CalculatorService)))
{
    host.Open();
    Console.WriteLine("Service is running...");
    Console.ReadLine();
    host.Close();
}

// 客户端调用WCF服务
using (ChannelFactory<ICalculatorService> factory = new ChannelFactory<ICalculatorService>("CalculatorServiceEndpoint"))
{
    ICalculatorService proxy = factory.CreateChannel();
    double result = proxy.Add(2, 3);
    Console.WriteLine("Result: " + result);
}

解释说明:

  1. 定义服务契约:使用 ServiceContractOperationContract 属性来定义服务接口 ICalculatorService,该接口包含一个方法 Add,用于实现加法操作。
  2. 实现服务契约:创建一个类 CalculatorService 来实现 ICalculatorService 接口,并提供具体的业务逻辑。
  3. 配置并启动WCF服务:使用 ServiceHost 类来托管和启动 WCF 服务。host.Open() 方法启动服务,host.Close() 方法关闭服务。
  4. 客户端调用WCF服务:使用 ChannelFactory<T> 创建一个代理对象来调用 WCF 服务的方法。通过 factory.CreateChannel() 创建通道,然后调用 Add 方法并获取结果。

以上代码展示了如何创建、托管和调用一个简单的 WCF 服务。

上一篇:c# as

下一篇:c# app.config

大家都在看

c# 二进制

c# 创建目录

c# socket服务端连接多个客户端

c# datatable group by

c# tcp client

c# type.gettype

c# sqlconnection

c# string.format 小数位数

c# invoke方法

.net和c#

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站