1.添加argument

类的argument必须先在表达式里面实例化

argument和variable 没有区别啊???????

http://msdn.microsoft.com/en-us/library/dd489456(v=vs.110).aspx

2.代码添加控件

错误:
 <Add x:TypeArguments="s:Int32,s:Int32,s:Int32" x:Key="4th" DisplayName="Add 15" Left="[TotalMount]" Result="[TotalMount]" Right="[15]"/>
正确:

<Add x:TypeArguments="x:Int32, x:Int32, x:Int32" DisplayName="Add 15" Right="1">
          <Add.Left>
            <InArgument x:TypeArguments="x:Int32">
              <mca:CSharpValue x:TypeArguments="x:Int32">OrderInfo.id</mca:CSharpValue>
            </InArgument>
          </Add.Left>
          <Add.Result>
            <OutArgument x:TypeArguments="x:Int32">
              <mca:CSharpReference x:TypeArguments="x:Int32">OrderInfo.id</mca:CSharpReference>
            </OutArgument>
          </Add.Result>
          <sap2010:WorkflowViewState.IdRef>Add`3_1</sap2010:WorkflowViewState.IdRef>
        </Add>

3.Invoke Method

public  class OrderDis
    {
        public static int Compute(int id)
        {
            Console.WriteLine(id + 10);
            return id+10;
       
        }
   
    }

Target Type 选择类

Target Object 不选

就可以了

WF 加WCF 实现WCF服务。

1.可以认为WCF是一种SOCKET通信。

2.实现这种通信需要两个东西,服务端和客户端。

3.服务端和客户端使用WF实现,分别是:

WorkflowServiceHost和WorkflowInvoker

4.WorkflowServiceHost的内容由WorkflowService指定。

包含:ENDPOINT和Activity(即活动),ENDPOINT包括服务契约名称 binding类型 和 服务地址。

Activity 为继承Activity的自定义类,这个玩意就是一个WF流程。在这个流程中,请添加一个活动叫做:Receive,这个东东非常重要。

系统接收到XML消息后,就可以激活Receive的流程。请告诉Receive要解析的内容。即:

Receive receiveRequest = new Receive {

ServiceContractName = "IlibReser",

OperationName = "ReBook",

CanCreateInstance=true,

Content=ReceiveContent.Create(new OutArgument<ReservationRequest>(request)),

//这个玩意啥意思,是收到以后做什么操作? 必须是一个OutArgument,这个玩意被赋值了,恭喜!

CorrelatesWith=requsetHandle

//这个东西就是个空的,要看看会变成什么,也许没用                                   };

5.WorkflowInvoker的东西由另外一个Activity指定,这里面最重要的是

  Send 和 ReceiveReply 2个活动。

Send submitRequest = new Send

{

ServiceContractName = "IlibReser",

EndpointAddress = new InArgument<Uri>( env => new Uri("http://localhost:" + port.Get(env) + "/Lib")),

Endpoint = new Endpoint {Binding = new BasicHttpBinding()},

OperationName = "ReBook",

Content = SendContent.Create(new InArgument<ReservationRequest>(request))                 //送一个类过去?送一条消息过去

};

这个ENDPOINT 和那个要一样,才能通信。

new ReceiveReply
                          {
                             Request=submitRequest,
                             Content=ReceiveContent.Create(new OutArgument<ReservationResponse>(env=>response.Get(env)))
                         
                          }

这个函数能判别是哪个Request的响应?然后执行的内容是从返回对象中提取response。

******以下是WCF流程********

1.ServiceContract的类,提供若干OperationContract。这就是后台服务,也就是Receive和Send里要调用的。

实际上,这两个貌似应该分开来。???分成两个类。

2.还有两个东西,就是MessageContract.他们分别用在Send ReceiveReply和Receive、SendReply的content中。也就是说,这才是传递的对象。

但是不用也没什么大不了的啊。。。。。。。。这是怎么回事?没有报错!

//就区别来说,不加的话,默认所有public的属性都要序列化,但是加的话,只有标注的属性(或字段)才能序列化,而且即使那个属性是私有的,一样可以序列化,不受任何限制。-----------------验证过了,确实是的。如果MessageContract 一定要标记MessageBodyMember.MessageHeader也不行。分消息头和消息体·MessageContract和DataContract的区别。

native 和 code的区别在于CONTEXT和metadata上,native强很多

WF学习的更多相关文章

  1. 系列文章--WF学习资料汇总

    学习WF当然是MSDN作为第一手材料,但是看完了一些基础的入门知识后,园子里的一些WF大牛们的系列文章就是很好的提高的材料了.在此,感谢他们,我真佩服他们有这样的耐心和良好的学习习惯. 以下就是我经常 ...

  2. WF学习思维导图

    原文 来自我的有道笔记-老文重发系列 如果配置加载核心服务,那么需要将持久化服务和跟踪服务放在一个数据库中!   1.用工作流的优点 a.提供将复杂任务分解的途径,通过将每个操作分解到活动中更便于业务 ...

  3. WF学习笔记(四)

    1.使用WorkflowApplication.OnUnhandledException 处理Code异常 ,用于产生异常的Activity: public class ExceptionActivi ...

  4. WF学习笔记(三)

    Collection 集合 -AddtoCollection<T> 添加项到集合 :[AddtoCollection]可以将一个项添加到[Collection]集合中 ,[Item]属性用 ...

  5. WF学习笔记(二)

    -DoWhile循环:当[Condition]条件为真时会执行[Body]中的内容, 当[Condition]条件为假时会执行[Body]中的内容一次 -ForEach<T> 循环 :[V ...

  6. WF学习笔记(一)

    -流程启动方式1: WorkflowInvoker.Invoke(new Workflow1()); -流程启动方式2: WorkflowApplication instance = new Work ...

  7. WF的初步学习与创建

    一直在好奇WF的学习,嘿嘿,今天就不用啦,我之后就要接触WF的项目,刚开始在百度上寻找WF新建一个项目的过程,发现很少这样的实例让我学习操作,我想给我一个大的项目我也不可能一下就知道应该怎样去操作,由 ...

  8. WCF揭秘学习笔记(5):WF定制活动

    WF(Windows Workflow Foundation,Windows工作流基础)为.NET提供了一种基于模型的.声明方式的过程执行引擎,它改变了传统的通过一行行编写代码来开发服务功能的方式. ...

  9. WF从入门到精通学习目录

    WF从入门到精通(第一章):WF简介 WF从入门到精通(第二章):workflow运行时 WF从入门到精通(第三章):workflow实例 WF从入门到精通(第四章):活动及workflow类型介绍 ...

随机推荐

  1. ural 1640 Circle of Winter

    这道题真的很无聊,就是找一个圆,至少有一个点在这个圆上,其他点不能在圆外,半径不定: #include <cstdio> #include <cstring> #include ...

  2. Keil C51对同一端口的连续读取方法

    C语言是当前举世公认的高效简洁而又非常贴近硬件的编程语言之一.将C语言向单片机MCS-51上的移植始于2O世纪8O年代的中后期,经过近1O年的发展,C语言克服了产生代码过长.运行速度较慢的缺点,并且由 ...

  3. 磁盘IO单线程顺序写时最快的,如果多线程写,磁盘的磁头要不断重新寻址,所以写入速度反而会慢

    (1) 读写最好还是不要多线程,硬盘读写的速度有限,单线程时已经满负荷了,多线程又会增加线程之间的切换,会增加时间. 如果想增加读写速度,应该增加硬盘,做raid (2)首先是硬盘的写入是串行的,CP ...

  4. 浅析门户网站体育赛事CDN加速解决方案

    经过近些年来的高速发展,互联网已经成为现今媒体传播的主要力量.这一点在大型体育赛事的报道与转播上,体现的尤为明显.更及时的信息内容.更多样的报道形式.更齐全的资料组成.更方便的阅读查询.更具互动性的报 ...

  5. js中iframe的用法

    最近遇到的项目总是习惯左边一个树,点击每个树的节点右边出现相应的信息,遇到这种情况用iframe还是很简单的, 例如 : 页面文件 @section Tree{ <ul id="tre ...

  6. css链接

    css code: a:link{ color:#FF0000; } a:visited{ color:#00FF00; } a:hover { color:#0000FF; } a:active{ ...

  7. FilterDispatcher已被标注为过时解决办法

    一些struts2的教程都是比较早的,当我们基于较新版本的struts2来实现代码的时候,往往会出现一些问题.比如这个警告:FilterDispatcher isdeprecated! 在web.xm ...

  8. 魅蓝Note2跑分 MT6753性能究竟如何

    MT6753实力究竟如何? 采用LP工艺的MT6753实际上在性能和功耗方面并不比MT6752高,相反,同频下功耗要高1/3左右.并且其内存带宽是5.3G/s,小于MT 6752的6.4G/s 而且没 ...

  9. 【机器学习算法-python实现】Adaboost的实现(1)-单层决策树(decision stump)

    (转载请注明出处:http://blog.csdn.net/buptgshengod) 1.背景      上一节学习支持向量机,感觉公式都太难理解了,弄得我有点头大.只是这一章的Adaboost线比 ...

  10. [React] React Router: Nested Routes

    Since react-router routes are components, creating nested routes is as simple as making one route a ...