1.创建WCF服务库:WcfServiceLibrary,根据自动创建的代码修改自己的WCF 服务协议.操作协议.数据协议.本次先实现简单的WCF最基本的通信方式:请求->应答模式. 定义服务.操作协议接口: [ServiceContract] public interface IUser { [OperationContract(IsOneWay = true)] void SetData(UserInfo _UserInfo); [OperationContract] List<UserI…
如果我们自己新建一个WCF服务库,生成了dll文件.那我们需要创建一个宿主程序,在本例中我们新建一个Winform程序作为WCF的宿主程序. 在网上很多教程里对创建过程写的很模糊,错误也很多.本文是作者在尝试了网上各种失败方法之后,经过自己的改正,总结出的可以正确运行的解决方案. 1. 创建wcf服务库. 打开vs, 新建一个 WCF服务库. 什么都不用改,直接生成. 此时会在bin目录下生成一个dll文件(默认名WcfServiceLibrary1.dll). 2. 创建宿主程序. 1). 打…
上接  WCF学习之旅—WCF寄宿前的准备(八) WCF学习之旅—WCF服务部署到IIS7.5(九) 五.控制台应用程序宿主 (1) 在解决方案下新建控制台输出项目 ConsoleHosting.如下图. (2)添加 System.ServiceModel.dll 的引用. (3)添加 WCF 服务类库(WcfServiceLib)的项目引用. (4)创建宿主程序,代码如下: using System; using System.Collections.Generic; using System…
本文参考自http://www.cnblogs.com/wangweimutou/p/4377062.html,纯属读书笔记,加深记忆. 一.简介 任何一个程序的运行都需要依赖一个确定的进程中,WCF也不例外.如果我们需要使用WCF服务,那么我们就必须将服务寄宿与创建它并控制它的上下文和生存期的运行时环境当中,承载服务的环境,称之为宿主.WCF服务可以在支持托管代码的任意Windows进程中运行.WCF提供了统一编程模型,用于生成面向服务的应用程序.此编程模型保持一致且独立于部署服务的运行时环境…
上接    WCF学习之旅—WCF服务部署到IIS7.5(九) WCF学习之旅—WCF服务部署到应用程序(十) 七 WCF服务的Windows 服务程序寄宿 这种方式的服务寄宿,和IIS一样有一个一样的优点,系统启动后,WCF服务也会跟着启动了,不用人工干预,也是一种较好的寄宿方式. (1) 在解决方案下新建控制台输出项目 WinServiceHosting.如下图. (2)添加 System.ServiceModel.dll 的引用. (3)添加 WCF 服务类库(WcfServiceLib)…
上一篇是Windows服务为宿主的WCF服务,现在用IIS为宿主发布WCF服务. 第一步:肯定是新建一个WCF服务啦[是WCF服务应用程序],然后在解决方案上再次添加一个新项目[我们选择WCF服务库,添加此服务库完全是为了以后编码的方便.]看下图: 第二步:将WCFService中的IService1.cs和Service1.svc.cs删除掉[我们要用WCFServiceLibrary中的类],然后在WCFService添加引用WCFServiceLibrary.最后我们双击Service1.…
WCF服务程序本身不能运行,需要通过其他的宿主程序进行托管才能调用WCF服务功能,常见的宿主程序有IIS,WAS,Windows服务,当然在学习WCF技术的时候一般使用控制台应用程序或WinForm程序进行托管.本文将详细介绍如何使用IIS8托管WCF服务程序以及解决可能会碰到的一些问题.步骤比较多,还需耐心看完! 一.安装IIS8 1.本机器是Win8操作系统,默认没有安装IIS.安装IIS8很简单,具体步骤是:控制面板→程序和功能→启用或关闭Windows功能,勾选Internet信息服务节…
通过前面的笔记我们知道WCF服务是不能独立存在,必须“寄宿”于其他的应用程序中,承载WCF服务的应用程序我们称之为“宿主”.WCF的多种可选宿主,其中比较常见的就是承载于IIS服务中,在这里我们来学习如何使用IIS承载WCF服务. 在前面的笔记的示例中我们使用自己创建的控制台应用程序来承载WCF服务,现在我们将使用IIS来作为这个示例程序的宿主.将IIS作为宿主只需要正确的配置好IIS就可以了,同时在IIS中运行WCF服务不需要编写任何承载代码. 注意: 使用IIS( IIS 5.1 和 IIS…
WCF开发实战系列四:使用Windows服务发布WCF服务 (原创:灰灰虫的家http://hi.baidu.com/grayworm) 上一篇文章中我们通过编写的控制台程序或WinForm程序来为本机或远程机提供WCF服务的方式,我们称这种方式为Self-Host服务发布方式,这一篇文章我们来看一下如何编写Windows服务来发布WCF服务. 第一步:建立Windows服务程序WindowsServiceHost <图1> <图2> 第二步:向ConsoleBookService…
WCF是Windows平台下程序间通讯的应用程序框架.整合和 .net Remoting,WebService,Socket的机制,是用来开发windows平台上分布式开发的最佳选择.wcf程序的运行需要一个宿主ServiceHost,我们可以选用控制台应用程序,也可以选择IIS寄宿,还可以选择windows 服务寄宿.相较与控制台程序,IIS,和Windows服务比较稳定.而且大家不会时不时的去重启下IIS下的网站,或者windows服务. 在IIS下寄宿Wcf 我们新建一个类库项目 在项目下…
本篇先通过Web Service和Remoting Service创建服务,抛砖引玉,再体验WCF服务.首先一些基本面: 什么是WCF? Windows Communication Foundation,微软的平台,用来搭建分布式的.互操作的应用程序. 什么是分布式应用程序? 如果把计算机看成是节点,分布式应用程序跑在2个或2个以上的节点上.比如,一个应用程序运行在一台电脑上,另一个服务运行在另外一台电脑上,应用程序消费所提供的服务. 为什么需要分布式应用程序? 比如有一个应用程序的结构是数据层…
  WCF是Windows平台下程序间通讯的应用程序框架.整合和 .net Remoting,WebService,Socket的机制,是用来开发windows平台上分布式开发的最佳选择.wcf程序的运行需要一个宿主ServiceHost,我们可以选用控制台应用程序,也可以选择IIS寄宿,还可以选择windows 服务寄宿.相较与控制台程序,IIS,和Windows服务比较稳定.而且大家不会时不时的去重启下IIS下的网站,或者windows服务. 在IIS下寄宿Wcf 我们新建一个类库项目 在项…
WCF开发实战系列三:自运行WCF服务 (原创:灰灰虫的家 http://hi.baidu.com/grayworm)上一篇文章中我们建立了一个WCF服务站点,为WCF服务库运行提供WEB支持,我们把这个WCF服务站点布署到IIS中去,实现WCF服务在Web上的发布.这一篇文章中我们来谈一下“自运行WCF服务”.什么是“自运行WCF服务”呢?就是通过我们编写的控制台程序或WinForm程序来为本机或远程机提供WCF服务的方式. 下面我们使用控制台程序来提供WCF的自运行服务 第一步:建立控制台应…
1.创建Windows服务项目 2.Server1改名为你想要的名称,比如WinServer 3.在项目中新建一个WCF文件夹,用于存放wcf服务文件. 注:在WcfServer类的上面还要添加 [ServiceBehavior(InstanceContextMode = InstanceContextMode.Single)] 4.WCF服务文件建好后,系统会添加一个App.config的文件,打开此文件,我们进行相应的修改. 我们修改baseAddress地址: <add baseAddre…
昨天发布了<WCF服务创建与使用(请求应答模式)>,今天继续学习与强化在双工模式下WCF服务创建与使用,步骤与代码如下. 第一步,定义服务契约(Service Contract),注意ServiceContract特性上需指定回调契约 //服务契约 using System.ServiceModel; namespace WcfServiceLibrary1 { [ServiceContract(Namespace = "http://www.zuowenjun.cn",…
回<[开源]EFW框架系列文章索引>        EFW框架源代码下载V1.3:http://pan.baidu.com/s/1c0dADO0 EFW框架实例源代码下载:http://pan.baidu.com/s/1eQCc69G        前言:以前的系统都是直接客户端直连数据库服务器,后来考虑到服务器的安全性.数据库连接数的限制.分布能力差等问题,特别是那几年中间件.SOA.ESB等炒得比较火,为了跟上时代脚本有必要开发一个中间件,把后台逻辑业务在中间件中运行.刚开始考虑过WebS…
下载: vs2012 pro for wp8 iis express http://download.microsoft.com/download/B/2/8/B2801FEE-9A60-4AFA-8657-0E8AB0A373F0/VS2012_PRO_chs.iso 安装出现的问题 win8装vs2012 提示 devenv 找不到元素  microsoft visual c++ 2012 core libraries VS2012 Installation Failure (C++ Cor…
通常在客户端访问WCF服务时,都需要添加服务引用,然后在客户端app.config或 web.config文件中产生WCF服务的客户端配置信息.若是每添加一个服务都是这样做,这样势必会将比较麻烦,能否简单在app.config或 web.config文件增加WCF服务地址,然后直接通过此地址访问WCF服务呢?可以,那就是通过自定义客户端代理类来实现.本文是通过继承 ClientBase<T>类实现的自定义客户端代理类,来实现同过简单在app.config或web.config文件增加wcf服务…
通常在客户端访问WCF服务时,都需要添加服务引用,然后在客户端app.config或web.config文件中产生WCF服务的客户端配置信息.若是每添加一个服务都是这样做,这样势必会将比较麻烦,能否简单在app.config或web.config文件增加WCF服务地址,然后直接通过此地址访问WCF服务呢?可以,那就是通过自定义客户端代理类来实现.本文是通过继承ClientBase<T>类实现的自定义客户端代理类,来实现同过简单在app.config或web.config文件增加wcf服务地,然…
契约 新建一个WCF服务类库项目,在其中添加两个WCF服务:GameService,PlayerService 代码如下: [ServiceContract] public interface IGameService { [OperationContract] Task<string> DoWork(string arg); } public class GameService : IGameService { public async Task<string> DoWork(s…
本文属于原创,转载请注明出处,谢谢! 一.开发环境 操作系统:Windows 10 开发环境:VS2015 编程语言:C# IIS版本:10.0.0.0 二.添加WCF服务.Internet Information Services(IIS)  1.进入“控制面板”,打开“程序和功能”,点击左上角的“启用或关闭Windows功能”后,在“.NET Framework 4.6 高级服务”中的子节点选中“WCF 服务”,如下图所示: 2.再找到“Internet Information Servic…
在windows控制台应用程序中,肯能会想使用一些MFC中的类,如CStringArray等,通过下面两步简单的设置可以添加对MFC的支持: 1.右击工程名 -> References 选择 All Configuration ->Configuration Properties ->General->Use of MFC ->Use MFC in a Shared DLL 2.在stdafx.h头文件中添加一下内容: #define _ATL_CSTRING_EXPLICI…
在.NET Core项目中,日志记录是通过依赖项注入进行管理的. 尽管这对于ASP.NET项目效果很好,但在启动Startup.cs中的新项目时,所有这些都会自动创建,而在控制台应用程序中则需要一些配置才能使其启动并运行. 这大部分是从此处的博客文章整理而成的,但我对其进行了修改. 该项目是在Visual Studio 2019中创建的,并且需要以下程序包(在csproj文件中找到) <ItemGroup> <PackageReference Include="Microsof…
环境配置:Web服务器:Windows Server 2008,iis7.5,.net4.0客户端:XPsp3 vs2010 sp1 问题描述:1.确定WCF服务访问地址  http://service.xxx.com/ActivityLogService.svc可以正常浏览  http://service.xxx.com/ActivityLogService.svc?wsdl可以正常查看元数据    2.客户端添加对应service.xxx.com的host3.vs2010添加服务引用,提示失…
废话不多说,直接进入主题: 1.打开vs2010新建项目,选择Windows服务. 2.选中WindowsService右击,添加WCF服务. 3.添加成功后,为下图.将接口类ITestService和实现类TestService放在一个文件夹内(为了美观),并且增加System.ServiceModel 类的引用. 4.修改一下DoWork方法,方便调用.接口类上打上[ServiceContract]标签,需要暴露的服务方法上打上[OperationContract] 5.最重要的是编辑Ser…
1.创建解决方案WCFService 依次添加四个项目,如上图,Client和Hosting为控制台应用程序,Service和Service.Interface均为类库. 2.引用关系 Service.Interface:定义服务契约(Service Contract)接口,引用WCF核心库System.ServiceModel.dll; Service:定义服务的项目,由于需要实现具体的服务,而服务契约在Service.Interface中,所以要引用Service.Interface项目;…
1.先创建一个WCF服务库 2.创建一个Console控制台,服务将寄宿在该应用程序上,该程序一旦关闭,服务将停止. 控制台代码: using System; using System.Collections.Generic; using System.Linq; using System.Text; using WcfServiceLibrary; using System.ServiceModel; using System.ServiceModel.Description; namespa…
一.创建WCF服务器 1.创建WCF服务器的窗体应用程序 打开VS2010,选择文件→新建→项目菜单项,在打开的新建项目对话框中,依次选择Visual C#→Windows→Windows窗体应用程序,然后输入项目名称(Name),存放位置(Location)和解决方案名称(Solution Name),点击“确定”生成项目.如下图: 2.在新建的WcfServer项目中右键添加→新建项,新建一个Calculate的WCF服务,接着添加服务操作,本示例中添加了一个Add的加法服务操作 Add的加…
1.写在前面 刚接触WCF不久,有很多地方知其然不知其所以然.当我在[创建服务->发布服务->使用服务]这一过程出现过许多问题.如客户端找不到服务引用:客户端只在本机环境中才能访问服务,移植到其他机器上就不能访问服务(权限问题)等问题.所以写下这篇文章把我使用http和tcp这两方式部署服务所出现的问题以及解决方案记录下来,方便自己下次查看,也可以当作初学WCF的一个入门小示例吧.   2.建立一个WCF服务 首先要编写一个WCF服务,我在这里提供一个通过名字查询年龄的服务,代码如下: 服务契…
1.TopShelf TopShelf是一个开源的跨平台的宿主服务框架.可通过.Net Core/.Net Framwork控制台应用程序快速开发windows服务,更加便于服务调试. 本文基于.Net Core2.2快速开发windows服务 首先,我们创建一个控制台应用程序 然后添加Topshelf Nuget程序包  版本4.2.1 通过Topshelf集成的Log4net管理日志,所以我们这里添加了Topshelf.LogNet4 Nuget程序包 添加log4net.config日志配…