跟着Artech学习WCF 省的看书没环境没心情尤其没有看书的环境只有上网的环境

简介: Artech的 我的WCF之旅(1):创建一个简单的WCF程序 http://www.cnblogs.com/artech/archive/2007/02/26/656901.html   以前自己练习WCF是总是通过创建客户端代理类和实现所有东西都是放在创建WCF的项目里面,WCF的地址(A...

Artech的 我的WCF之旅(1):创建一个简单的WCF程序

http://www.cnblogs.com/artech/archive/2007/02/26/656901.html

 

以前自己练习WCF是总是通过创建客户端代理类和实现所有东西都是放在创建WCF的项目里面,WCF的地址(Address),绑定(Binding),契约(Contract

自然也是都在创建 WCF的项目里面,然后客户端创建代理里是调用,觉得真是方便啊,这玩应我看也不用学了 ,和以前的没啥区别,结果看公司的项目的WCF部分和调用WCF部分时, 彻底傻眼,找了N旧都没找见地址(Address),绑定(Binding),契约(Contract),这也没什么,问题是线上的某个WCF总是在某个关键的时刻出问题【例如某NB领导莅临指导检查】事后查看服务器日志 看了半天没搞明白 因为以前的东西没说这个东西会出这样的错误啊 才发现这个东西的确是要学的啊 在WCF上还是菜鸟啊 问题是 公司以后的项目方向是mvc+wcf啊 菜鸟不能不学啊

Artech 的WCF之旅 除了代码不能复制过来之外 我看很适合学习啊 尤其没有看书的环境只有上网的环境

我练习的项目结构

QQ截图未命名2

首先是WCF的 C 契约(Contract) 是个接口类,这个类可以放在WCF项目里面也可以不放在WCF里面 大多数情况,都是单独拿出来,给server和client调用,所以我们还是拿出来吧,例如我的Contracts类库中的ICalculator.cs 代码如下

 [ServiceContract]
   public interface ICalculator
    {
        [OperationContract]
        string add(double x,double y);

    }

注意啊Contracts.ICalculator 在WCFserver和Client的配置文件中是要用的 例如

 <!-- Service Endpoints WCF服务器端-->
        <endpoint address="" binding="wsHttpBinding" contract="Contracts.ICalculator">
  <!-- clent Endpoints 客户端调用 -->
      <endpoint name="calculatorservice" binding="wsHttpBinding" address=http://localhost:25362/Service1.svc
 contract="Contracts.ICalculator" >

WCF的c就是这个样子 另外在实现服务接口时我们总是这样

 
 
 
 
 
 
 
 
 public ActionResult Index()
        {
            string result = "";
            using (ChannelFactory<ICalculator> channelFactory = new ChannelFactory<ICalculator>("calculatorservice"))
            {

                ICalculator proxy = channelFactory.CreateChannel();
                using (proxy as IDisposable)
                {
                    result = proxy.add(2, 3);

                }

            }
            ViewData["Message"] = "mywcf"+result;

            return View();
        }

 

配置文件中如下配置

  <system.serviceModel>
    <client>
      <!-- clent Endpoints 客户端调用 -->
      <endpoint name="calculatorservice" binding="wsHttpBinding"
 address=http://localhost:25362/Service1.svc 
contract="Contracts.ICalculator" >
        
      </endpoint>
    </client>
  </system.serviceModel>

 

注意 name="calculatorservice" 是一个名称例如你可以调用N个WCF服务那第N个的名字就是calculatorserviceN

WCF返回什么好呢?实体对象吗?NO 用的最多的是格式化的XML,这样别人想怎么用就怎么用

啊第一个教程马马虎虎看完了

 

test
相关文章
|
网络协议 网络架构 Windows
框架学习——WCF框架
框架学习——WCF框架
279 0
|
安全 C#
WCF技术我们应该如何以正确的方式去学习掌握
一、WCF技术我该如何学习?       阿笨的回答是:作为初学者的我们,那么请跟着阿笨一起玩WCF吧,阿笨将带领大家如何以正确的姿势去掌握WCF技术。由于WCF技术知识点太多了,就纯基础概念性知识都可以单独出一本书来讲解,本次分享课程《C#面向服务编程技术WCF从入门到实战演练》开课之前,阿笨还是希望从没了解过WCF技术的童鞋们提前先了解一下WCF技术,至少要明白WCF技术的ABC三要素分别指的是什么。
1186 0
跟着Artech学习WCF扩展(1) Binding进行通信
这个demo简单 就一个服务器段的一个客户端的 主要是注释 Server的 using System; using System.Collections.Generic; using System.
706 0
跟着Artech学习WCF扩展(2) 自定义Channel与执行的顺序
源代码下载地址:点我 原文地址:http://www.cnblogs.com/artech/archive/2008/07/09/1238626.html 这节不看源码 看着真费劲哈   服务器端是这样的顺序 MyBindingElement.
724 0
|
机器学习/深度学习 消息中间件 开发框架
跟着Artech学习WCF(4) MSMQ 绑定
曾几何时 再看大家讨论各种构架时,经常出现在各个服务器间传递数据,经常出现MSMQ, 那是看到这个心理就郁闷,怎么整天折腾ASP.NET 就没遇见过这个东西 原来这个家伙藏在WCF里面 嘿嘿这次被我发现了 首先 第一次装IIS的话 默认是没有安装msmq 所以需要自己安装的   看Art...
805 0
|
XML 网络架构 数据格式
跟着Artech学习WCF(5) Responsive Service 与自定义Soap Message Header
记得以前看.NET各类框架教程在介绍SOAP时经常提到Soap Header 以前一直认为这个玩意就是个理论 应该和具体的编码和应用无关 后来在看到一些关于SOAP安全的书可以在header里 进行加密解密信息的存储 用于安全方面的验证 但一直苦于这个玩意到底是神马东西,一直没见过代码,今天A...
689 0
|
存储
跟着Artech学习WCF(3) wcf 的状态问题
开始以为是wcf的session问题 敲了一边代码发现里面没有用session存储数据 经过 自己研究才发现作者是再将wcf的状态存储问题 项目结构如下   代码如下 using System; using System.
703 0
|
网络协议 安全 Windows
跟着Artech学习WCF(1)
折腾了老半天双向通信,不是端口绑定不上 就是创建代理失败要摸是 代理没有及时关闭Artech的代码看了半天无论是照抄还是改良都是不行,无奈到处看看test最后终于解决了 绑定协议现在只试了http还没有事tcp的 项目结构图如下   目前感觉客户端的调用部分代码很多不 来自博客园地址忘了呵呵     代码如下 using System; using System.
641 0
|
安全 Windows
跟着Artech学习WCF(2) netTcpBinding 绑定
netTcpBinding 绑定真是坑爹啊 因为一直围绕着iis的缘故 很少搞这个东西,这次计划系统的学习WCF 才搞的 没搞不知道一搞晕菜 配置了半天才弄好 最晕菜的是在省城代理类时 的地址 更晕菜 这次配置OK了 保存一下 以备他日不时之需 首先netTcpBinding是服务器端的配...
766 0