wcf之三(通过文件部署服务)

Wcf之三(通过配置文件部署服务)

简介:

上一节主要讲解了接口契约式编程,这与我们的wcf编程有什么联系呀?理解好前一节在后面学习中更容易理解。因为wcf就是契约式编程,服务器、客户端、服务器和客户端之间的契约。

Wcf服务契约

服务契约描述了暴露给外部的类型(接口或类)、服务所支持的操作、使用的消息交换模式和消息的格式。每个WCF服务必须实现至少一个服务契约。使用服务契约必须要引用命名空间System.ServiceModel 。

服务三要素

规定服务的三要素使服务与客户端联系更加方便。1、Address以为着在哪里,客户端通过地址才能访问到2、Binding 意味着怎么做(与地址的传输方式要匹配)3、contract意味着做什么(服务契约)。

例子

接口契约定义

新创建一个类库,在类库中新建接口这里命名myInterface 。引用

<span style="font-size:18px;">using System.ServiceModel接口的写法

namespace ClassLibrary

{

    [ServiceContract]

   public interface myInterface

    {

        [OperationContract]

        string getServiceTime();//得到服务端时间

    }

}</span>

服务端

1、实现服务接口

这里创建一个winform程序。引用契约接口类库并实现。

<span style="font-size:18px;">class ServiceFunction:ClassLibrary.myInterface

    {

        public stringgetServiceTime()

        {

            return DateTime.Now.ToString();

        }

}</span>

2、规定服务三要素在winForm中通过App.config文件规定。

在configuration节点下添加如下

<span style="font-size:18px;"><system.serviceModel>

     <services>

       <!--name对应于提供服务的类名字包括命名空间  behaviorConfiguration规定行为与下面的behavior节点中的name一致-->

       <servicename="WinForm.ServiceFunction"behaviorConfiguration="testBehavior">

         <host>

           <baseAddresses>

              <!--规定服务的地址-->

              <addbaseAddress="http://localhost:8002/test"/>

           </baseAddresses>

         </host>

         <!--binding 规定服务的传输方式 contract服务契约 也就是类库中的接口-->

         <endpointaddress=""binding="basicHttpBinding"contract="ClassLibrary.myInterface"></endpoint>

       </service>

     </services>

     <behaviors>

       <serviceBehaviors>

         <!--规定客户端行为 这里为可见-->

         <behaviorname="testBehavior">

           <serviceMetadatahttpGetEnabled="true"/>

         </behavior>

       </serviceBehaviors>

     </behaviors>

   </system.serviceModel></span>

3、启动服务

这里在winform下拖一个button控件,点击事件开启服务,应用servicemodule

<span style="font-size:18px;">      ServiceHost host = null;

        private voidbutton1_Click(object sender, EventArgs e)

        {
           host = new ServiceHost(typeof(WinForm.ServiceFunction));//自己服务的类型
           host.Open();
           label1.Text = "服务已经开启";

        }</span>

注意:如果不错访问权限不足,请用管理员什么运行。

到这里已经做完了,服务开启状态我们可以通过浏览器访问我们的服务地址。

总结

面向服务式编程是一种思想,我遵循这思想理解程序执行的流程慢慢的就好学懂了。

时间: 2024-10-10 23:01:44

wcf之三(通过文件部署服务)的相关文章

开发者说:如何使用插件降低上传文件部署服务的复杂度

“ 这里描述我们实际服务部署的时候频繁发生的两个常用场景. 第一个场景,我们“办公网环境”想要在“准生产环境”下部署,需要做如下工作:打包.将文件上传到堡垒机上.scp将上传好的包裹传输到“准生产环境”的目标机器.ssh 目标机器.restart重启服务. 第二个场景是,我们可能随时的给“准生产环境”临时上传一些文件,但是仍然需要大量频繁操作. 直到前段时间我看了朋友圈一篇“阿里程序员推荐的15 款常用开发者工具”里面提到 Cloud Toolkit 这个工具,试过后觉得它太好用了,完美降低服务

WCF大文件传输服务

由于项目需要,自己写一个基于WCF的大文件传输服务雏形.觉得有一定的参考价值,因此放在网上分享. 目前版本为v1.1特点如下: 1.文件传输端口为18650 2.上传和下载文件 3.支持获取文件传输状态(未开始.传输中.传输完成.出现错误) 4.支持获取文件传输进度(范围0~1) 5.支持获取文件传输速度速度(按文件传输速度大小 自动切换 KB/s 和 MB/s显示) 项目解决方案如下: 服务断包括WCF寄宿的控制台服务和Windows 服务以及文件传输服务核心 公共包括一些帮助类(文件HASH

C# WCF之用接口创建服务契约、部署及客户端连接

服务契约描述了暴露给外部的类型(接口或类).服务所支持的操作.使用的消息交换模式和消息的格式.每个WCF服务必须实现至少一个服务契约.使用服务契约必须要引用命名空间System.ServiceModel . ServiceContractAttribute OperationContractAttribute 1,先创建一个类库为ClassLibrary1,在创建一个接口interface1. 2,添加引用和命名空间,System.ServiceModel 3,在接口里代码如下: namespa

android上传图片、视频、文件,服务端使用wcf接收

最近一直在搞android上传图片.视频.文件,服务端使用wcf接收,本文对调试中的遇到的问题进行记录. 首先android上传一些小图片是比较容易的一天下来差不多就能调试出来,但是上传一些大的文件时就出现各种问题,包括wcf默认支持64k的文件,后来大图片可以上传了,但是传视频又有问题,上传的视频打不开,经过努力google最后问题终于解决了.作者kwstu QQ806693619 以下是调试代码:原文链接:http://www.kwstu.com/ArticleView/kwstu_2013

虚拟化基础架构Windows 2008篇之5-安装Windows部署服务

看完文章,请顺手投我一票(王春海),谢谢 http://edu.51cto.com/activityvote/voteRanking 京东6.18结束了,IT人自己的6.18来了!!!51CTO学院3周年(6月30日-7月1日)70000课程不止5折!http://edu.51cto.com/lecturer/user_id-225186.html 在组建云计算数据中心时,会经常安装操作系统.无论是云计算的基础平台Hyper-V Server 2008 R2.Hyper-V Server 201

虚拟化基础架构Windows 2008篇之6-启动Windows部署服务

看完文章,请顺手投我一票(王春海),谢谢 http://edu.51cto.com/activityvote/voteRanking 京东6.18结束了,IT人自己的6.18来了!!!51CTO学院3周年(6月30日-7月1日)70000课程不止5折!http://edu.51cto.com/lecturer/user_id-225186.html 2.4 启动Windows 部署服务 在"服务器管理器"窗口中(如果原来"服务器管理器"已经打开,请关闭并再次进入),

Windows Server 2012 R2 WDS部署服务之四部署Win8 64位操作系统

上一篇博文中我们添加了win8 64bit的启动映像和安装映像,下面我们进行win8 64bit的部署. 其大致原理为:win8客户端从PXE启动后发送广播包找到网络中的DHCP服务器,从DHCP服务器获取到IP地址后和WDS服务器进行通信,然后从WDS服务器下载启动映像与安装映像,最后进行win8系统的安装. 好,现在我们正式进行Win8系统的部署 现在启动后可以看到客户端从DHCP服务器请求IP地址 看到标黄的部分已经从DHCP服务器拿到了IP地址配置,并且从WDS服务器启动 正在载入文件

十五、MDT 2013 Update 1批量部署-利用微软WDS部署服务实现MDT部署组播(多播)

MDT 2013 Update 1在客户端部署会占用不少带宽,利用微软的WDS部署服务,可以实现部署组播,在多个客户端部署时可以有效的节省网络带宽,同时提供多个客户端的部署速度. 一.WDS部署服务 其实只要默认值 查看多播传输,里面没配置多播传输 二.MDT 2013 UPDATE 1控制台下配置组播(多播) 修改对应的共享文件夹属性 选取 "Enable multicast for this deployment share",下面有说明需要WDS支持,不过为啥微软不标明也可以支持

SSH批量部署服务

SSH批量部署服务 在NFS上作为中心分发服务器将私钥分发到其他服务器上 NFS部署 1 [[email protected] ~]# useradd luoahong 2 [[email protected] ~]# echo 123456|passwd --stdin luoahong 3 Changing password for user luoahong. 4 passwd: all authentication tokens updated successfully. 5 创建密码对