zoukankan      html  css  js  c++  java
  • .net WCF WF4.5

    花了两天时间学习使用WF,把一些遇到的问题记录下来,使用的环境是VS2017,网上的资料普遍太老了

    需要注意,如果使用多项目同时启动的方式需要把WCF调整到WF启动顺序之上

    1.怎么使用代码活动

    新建代码活动,重新生成解决方案
    随后自己的代码活动便会出现在工具箱中
    如下图

     工具箱名称为WF项目名称

     随后拖入活动中使用即可

     2.使用switch时注意不加双引号,见图

    编程习惯所以一开始加上双引号结果无法正常运行,然后鬼使神差的去掉了引号就可以了,
    不明所以,望周知,感谢

     3.变量传递

    在参数中定义输入、输出的参数,即参数传递的方向,一看便知,不细讲了

    在变量中定义需要用到的局部变量,可以设置作用域

    命名空间,一看便知
    
    

     4.代码活动的输入参数和返回值

    下图为代码活动中对参数的处理,见名知意,In为输入,Out为输出
    通过使用上下文对象来设置输出的值【.context.SetValue(对象名,值);

    调用位置传参方式

    需要注意,如果定义的是输入的变量,那这里设置的属性就是传递进来的值,

    反之就是传出的值

    
    

     5.调用WCF传递参数并获得返回值

    
    

     使用send发送请求,receive获取信息,这里的receive可以直接右键创建ReceiveReply,会自动帮我们填写一些信息

    另外,如果wcf提供的是有返回值的接口,此处是一定要有receive的,反之如果没有返回值这里设置了读取返回信息

    同样会报错,需要注意几个值,如下图,OperationName为WCF公开的方法名,ServiceContractName为契约名。
    还需要设置Endpoint属性,如图。选择使用的协议以及地址
     


     参数设置

    点击查看参数

    选择参数,此处value为传递给wcf的参数名,使用wcf中定义的名称和类型

    返回的receive中的设置也是如此,不过需要注意的是此处的参数名称命名规则为W【CF公开的方法名称+Result】

    如前图可以看到定义的是GetData,所以此处是【GetDataResult】,可以通过指派,将返回值传递给外部变量

     6.主调函数调用活动、传递参数与获取返回值

                Activity workflow1 = new Workflow1();
    //使用字典传参 Dictionary
    <string, object> dic = new Dictionary<string, object>(); dic.Add("tic", "0"); //启动活动并获得返回值,返回值也是字典 var result = WorkflowInvoker.Invoke(workflow1,dic);
           //此处的result和resu为定义的返回值
    Console.WriteLine(result[
    "result"].ToString()+ result["resu"].ToString());

    7.获取out参数

    [Out参数]可在实例的[OnCompleted]事件中用[WorkflowApplicationCompletedEventArgs.Outputs]得到 

     8.WF请求数据

    可将数据存入InstancePromotedPropertiesTable表中,最多存储64个数据项

    实例:下载

    下一篇:.net WCF WF4.5 状态机、书签与持久化

  • 相关阅读:
    Chrome禁用缓存
    国内阿里Maven仓库镜像Maven配置文件Maven仓库速度快
    spring boot 之热部署
    Spring Boot的Maven插件Spring Boot Maven plugin详解
    在Extjs 的 TabPanel在 title标题栏上加按扭button
    Entity Framework 基于Oracle的code first 问题汇总
    面向对象设计原则
    Asp.Net MVC 缓存设计
    Asp.Net MVC 身份认证
    Asp.Net MVC 请求原理分析
  • 原文地址:https://www.cnblogs.com/ives/p/WF.html
Copyright © 2011-2022 走看看