入门代码教程第一节 如何:定义服务协定
使用接口创建 Windows Communication Foundation 协定
通过在“开始”菜单中右击“Visual Studio 2005”并选择“以管理员身份运行”,以管理员身份打开该程序。
创建新的控制台应用程序项目。 在“新建项目”对话框中,选中“Visual Basic”或“Visual C#”,并选择“控制台应用程序”模板,并命名为 Service。 使用默认的位置。
将默认的 Service 命名空间更改为 Microsoft.ServiceModel.Samples。
为项目提供对 System.ServiceModel 命名空间的引用:右击“解决方案资源管理器”中的“Service”项目,从“.NET”选项卡中的“组件名称”中选择“System.ServiceModel”,然后单击“确定”。
1.为 System.ServiceModel 命名空间添加一个 using 语句
2.创建一个新的 ICalculator 接口,并将 ServiceContractAttribute 属性应用于该接口,并将 Namespace 值设置为“http://Microsoft.ServiceModel.Samples”。 此命名空间指定该服务在计算机上的路径,并构成该服务的基址部分。 请注意,在通过采用方括号表示法的属性来批注接口或类时,该属性类可以从其名称中去掉“Attribute”部分。 这样,在使用步骤 5 中的 using 语句时,ServiceContractAttribute 将变为 [System.ServiceModel.ServiceContract] 或 [ServiceContract]。
3.在接口中创建方法声明,并将 OperationContractAttribute 属性应用于每个要作为公共 WCF 协定的一部分公开的方法。
示例
下面的代码示例演示一个定义服务协定的基本接口。
using System;
// Step 5: Add the using statement for the Sytem.ServiceModel namespace
using System.ServiceModel;
namespace Microsoft.ServiceModel.Samples
{
// Step 6: Define a service contract.
[ServiceContract(Namespace = "http://Microsoft.ServiceModel.Samples")]
public interface ICalculator
{
// Step7: Create the method declaration for the contract.
[OperationContract]
double Add(double n1, double n2);
[OperationContract]
double Subtract(double n1, double n2);
[OperationContract]
double Multiply(double n1, double n2);
[OperationContract]
double Divide(double n1, double n2);
}
}
创建接口之后,下一步就是实现接口。
请见入门代码教程第二节
转载于:https://www.cnblogs.com/tomkillua/archive/2008/09/24/1298193.html
入门代码教程第一节 如何:定义服务协定相关推荐
- 入门代码教程第二节 如何:实现服务协定
如何:实现 Windows Communication Foundation 服务协定 实现 WCF 服务协定 创建一个新 CalculatorService 类,该类从用户定义的 ICalculat ...
- android 教程概要,Android精通教程-第一节Android入门简介
前言 大家好,我是 Vic,今天给大家带来Android精通教程-第一节Android入门简介的概述,希望你们喜欢 每日一句 If life were predictable it would cea ...
- 1-2 李宏毅2021春季机器学习教程-第一节(下)-深度学习基本概念简介
上篇文章1-1 李宏毅2021春季机器学习教程-第一节(上)-机器学习基本概念简介介绍了回归的一些知识,重点介绍了机器学习寻找函式的三个步骤.接着我们继续学习第一节Introduction的内容. 目 ...
- VUE入门笔记,第一节
VUE入门笔记,第一节 一.MVVM分层思想 M:用来保存每个页面中的单独的数据 V:每个页面中的HTML结构 VM:它是M和V层的调度者,它分割了M和V层,用于处理M和V层的数据双向绑定 二.VUE ...
- 会说话的狗狗本电脑版_一看就会用!Fotor 电脑版 图片后期处理详解系列教程 第一节...
Fotor 电脑版 图片后期处理详解系列教程 第一节 这节课我们先来了解一下 Fotor 电脑版的界面功能,为了能用 Fotor 电脑版修图处理打基础. 如图示,启动 Fotor 以后出面界面,有编辑 ...
- MySQL入门学习的第一节(SQL语句)
MySQL入门学习的第一节(SQL语句) SQL语句
- matlab简单程序实例_visual basic VB.NET实例系列教程第一节(简单实用抽奖程序)...
近期疫情原因,工作比较不忙,所以打算出一套零基础,VB.NET实例系列入门教程,实用又好玩,带大家进入VB的编程世界里,希望这套图文教程能帮到有需要的人! 第一节(简单实用抽奖程序) 内容准备:编译环 ...
- MATLAB进阶教程第一节(图形绘制)
本节是matlab进阶教程的第一节,头一次看的小白请先看完我的matlab入门基础,方便消化,对那些急需图形绘制的朋友将会有很大帮助! 一.二维图形的绘制 1.1plot函数 形式:plot(X,Y, ...
- visual basic VB.NET实例系列教程第一节(简单实用抽奖程序)
近期疫情原因,工作比较不忙,所以打算出一套零基础,VB.NET实例系列入门教程,实用又好玩,带大家进入VB的编程世界里,希望这套图文教程能帮到有需要的人! 第一节(简单实用抽奖程序) 内容准备:编译环 ...
最新文章
- 关于学习Python的一点学习总结(42->继承list)
- Java多线程1:进程与线程概述
- centos 7使用tar包安装ansible
- python入门经典书籍知乎_知乎问题回答 - 《Python100天从新手到大师》 - 开源书籍(oscbook.com)...
- 第三章 染色动力学理论单元测试
- linux maven自动构建,Centos7.3+Jenkins+Git+Maven 自动化构建部署项目
- 《C陷阱与缺陷》一第1章 词法“陷阱”1.1 =不同于==
- 【转载】关于网页尺寸的设置
- ps清理原始数据程序_ps重要插件ACR最新版 让处理照片更简便 详尽说明附上 抓紧下载吧...
- 如何知道对象在Python中是否具有属性
- lambda表达式传参
- macbook Intel版本安装anaconda和配置镜像源
- 2:算法php/go [二分查找 ;二叉树的层序遍历 ;最长无重复子数组]
- siege压力测试工具
- 图像尺寸与图像像素、分辨率的关系
- wordpress html5视频播放插件,WordPress插件DPlayer支持m3u8视频HTML5播放
- linux php启动端口,linux中如何开放指定端口
- 美国大学本科计算机本科排名,2017美国大学计算机排名本科
- OpenCV利用鼠标操作测量角度
- 一人点赞,N人跟风?
热门文章
- C#动态调用webservice
- 向安卓模拟器中添加文件
- 最大熵模型(Maximum Etropy)—— 熵,条件熵,联合熵,相对熵,互信息及其关系,最大熵模型。。...
- 【软件】chrome设置默认字体
- ::selection 制作空心字
- Uva 11292 The Dragon of Loowater 模拟题
- 虚拟机下Ubuntu没有GUI图形界面,解决方法
- IDEA——找不到或无法加载主类的一种暴力解决方法
- The requested profile “pom.xml“ could not be activated because it does not exist. 解决方法
- RStudio中,出现中文乱码问题的解决方案