当前位置: 首页 > news >正文

WCF 第一个服务练习

1.定义接口(普通的request/reply模式)


[ServiceContract]
    public interface IService1
    {


        [OperationContract]
        string GetData(int value);


        
    }




2.实现接口
[ServiceBehavior(InstanceContextMode=InstanceContextMode.PerSession)]//意味着客户端close连接之前,会调用同一个//instance,默认是perCall,每次都是新实例。还有一个是Single,即所有请求共用一个实例
public class Service1 : IService1
    {
        private int count = 0;


        public string GetData(int value)
        {
            count++;
            return string.Format("You entered: {0} \n count is  {1}", value,count);
        }
    }




3.配置文件:
<system.serviceModel>
 <services>
<service name="WcfService1.Service1" behaviorConfiguration="myBehavior">
        <host>
          <baseAddresses>
            <add baseAddress="http://localhost:8001/"/>
          </baseAddresses>
        </host>
        <endpoint address="WcfService1" binding="wsHttpBinding" contract="WcfService1.IService1" />
       
      </service>
 </services>
 <behaviors>
      <serviceBehaviors>
        <behavior name="myBehavior">
          <serviceMetadata httpGetEnabled="true" />
        </behavior>
      </serviceBehaviors>
 </behaviors>
</system.serviceModel>




4.客户端添加服务引用,调用
ServiceReference1.Service1Client c1 = new ServiceReference1.Service1Client();
            c1.Open();
           string ret =  c1.GetData(1);
           Console.WriteLine(ret);
            c1.Close();
Console.ReadKey();


相关文章:

  • 同学网为啥能逆势拿到风投?
  • WCF duplex 简单实例
  • 控制台标准输出以及控制台错误是不同的
  • 几个常用SHELL命令
  • sharepoint 404 pagenotfound error
  • update rowstate of dataset
  • apache2.0.63配置代理连接weblogic923
  • sql find out record one-to-one
  • 使用 screen 管理你的远程会话
  • UltraWebGrid页面加载时选中第一行
  • 海水与火焰——领导眼中两种不同类型的员工
  • [Web开发] 检测IE版本号的方法总结
  • 你在世界的什么位置?
  • error while unload assembly from GAC assembly is being used by another process
  • ASP.NET中文件上传下载方法集合(上传限制,保存方式-二进制或文件形式,上传Internet上的资源 )...
  • [分享]iOS开发 - 实现UITableView Plain SectionView和table不停留一起滑动
  • Akka系列(七):Actor持久化之Akka persistence
  • axios请求、和返回数据拦截,统一请求报错提示_012
  • echarts花样作死的坑
  • extract-text-webpack-plugin用法
  • HashMap剖析之内部结构
  • Java新版本的开发已正式进入轨道,版本号18.3
  • js
  • Redis在Web项目中的应用与实践
  • SQLServer插入数据
  • Vue2.x学习三:事件处理生命周期钩子
  • vue的全局变量和全局拦截请求器
  • 从零开始在ubuntu上搭建node开发环境
  • 聚类分析——Kmeans
  • 我建了一个叫Hello World的项目
  • 主流的CSS水平和垂直居中技术大全
  • Prometheus VS InfluxDB
  • 分布式关系型数据库服务 DRDS 支持显示的 Prepare 及逻辑库锁功能等多项能力 ...
  • 你学不懂C语言,是因为不懂编写C程序的7个步骤 ...
  • ​html.parser --- 简单的 HTML 和 XHTML 解析器​
  • #LLM入门|Prompt#1.7_文本拓展_Expanding
  • $jQuery 重写Alert样式方法
  • (cljs/run-at (JSVM. :browser) 搭建刚好可用的开发环境!)
  • (附源码)springboot 个人网页的网站 毕业设计031623
  • (剑指Offer)面试题41:和为s的连续正数序列
  • (接口自动化)Python3操作MySQL数据库
  • (力扣)循环队列的实现与详解(C语言)
  • (每日持续更新)jdk api之StringBufferInputStream基础、应用、实战
  • (学习日记)2024.02.29:UCOSIII第二节
  • (译) 函数式 JS #1:简介
  • (转)Linux下编译安装log4cxx
  • (转)memcache、redis缓存
  • (轉貼) 2008 Altera 亞洲創新大賽 台灣學生成果傲視全球 [照片花絮] (SOC) (News)
  • *p++,*(p++),*++p,(*p)++区别?
  • .a文件和.so文件
  • .Net 4.0并行库实用性演练
  • .NET Core WebAPI中使用Log4net 日志级别分类并记录到数据库
  • .NET Project Open Day(2011.11.13)
  • .net websocket 获取http登录的用户_如何解密浏览器的登录密码?获取浏览器内用户信息?...
  • .Net Web项目创建比较不错的参考文章