zoukankan      html  css  js  c++  java
  • 角色:WebWorkflowRole

    只有等待与宿主交互的Activity才有Roles属性可以设置

     

    WebWorkflowRole使用ASP.NET的用户数据库,但所有数据操作不用人为干预




    使用时,要添加对ASP.NET数据库的连接配置

     

    App.config

    <?xml version="1.0" encoding="utf-8" ?>

    <configuration>

     <connectionStrings>

        <add name="SqlServerConnection"

             connectionString="Integrated Security = SSPI;server=WXWINTER\SQLEXPRESS;database=aspnetdb" />

     </connectionStrings>

     <system.web>

             <roleManager enabled="true" defaultProvider="SqlProvider">

                       <providers>

                           <add name="SqlProvider" connectionStringName="SqlServerConnection" applicationName="ConsoleAppSample"

                                type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />

                  </providers>

             </roleManager>

         </system.web>

    </configuration>




     

    一个例子

    外部事件

     

        [Serializable]

        public class 事件参数 : ExternalDataEventArgs

        {   private string 存值;

            public string 自定义属性

            {

                get

                {

                    return this.存值;

                }

                set

                {

                    this.存值 = value;

                }

            }

          

            public 事件参数() : base(Guid.NewGuid())

            {        }

     

            public 事件参数(Guid instanceId, string 值参数) : base(instanceId)

            {

                  this.存值 = 值参数;

     

            }

        }

     

        [ExternalDataExchangeAttribute()]

        public interface 外部事件接口

        {

            event EventHandler<事件参数> 一个外部事件;

        }

     

     

        public class 实现类 : 外部事件接口

        {

            public event EventHandler<事件参数> 一个外部事件;

     

            public void 触发事件(Guid instanceId, string 值参数, IIdentity 用户参数)

            {

                事件参数 e = new 事件参数(instanceId,值参数);

     

                String 安全标置 = null;

              

                WindowsIdentity 用户 = 用户参数 as WindowsIdentity;

     

                if (用户 != null && 用户.User != null)

                {

                    安全标置 = 用户.User.Translate(typeof(NTAccount)).ToString();

                }

                else if (用户参数 != null)

                {

                    安全标置 = 用户参数.Name;

                }

             

                e.Identity = 安全标置;

     

                Console.WriteLine("外部事件已执行,用户:", 用户参数.Name);

     

                if (一个外部事件 != null)

                {

                    一个外部事件("sender:wxwinter", e);

                }

            }

        }

    工作流中为结点设定角色

     Roles属性映射

    public WorkflowRoleCollection
    角色 = new System.Workflow.Activities.WorkflowRoleCollection();

                WebWorkflowRole 要添加的角色 = new WebWorkflowRole("aspnetdb数据库中的角色名");

                角色.Add(要添加的角色);

    宿主中使用aspnetdb数据库中的用户触发外部事件

     Dim 用户 As System.Security.Principal.GenericIdentity = New Security.Principal.GenericIdentity("aspnetdb数据库中的角色名")

     外部对象.触发事件(当前操作的实例.InstanceId, DateTime.Now.ToString(), 用户)



    本例中宿主是EXE程序

    本例收于  WWF调试模板(3) 中

  • 相关阅读:
    BZOJ 1070 修车
    BZOJ 1927 SDOI2010 星际竞速 最小费用最大流
    LOJ 2321 清华集训2017 无限之环 拆点+最小费用最大流
    EZOJ 宝石迷阵 建图+网络流匹配
    BZOJ 1711 吃饭dining/Luogu P1402 酒店之王 拆点+最大流流匹配
    POJ 1637 Sightseeing tour 建图+网络流
    POJ 1149 PIGS 建图,最大流
    【2018 1月集训 Day1】二分的代价
    【2019 1月集训 Day1】回文的后缀
    20181228 模拟赛 T3 字符串游戏 strGame 博弈论 字符串
  • 原文地址:https://www.cnblogs.com/foundation/p/527790.html
Copyright © 2011-2022 走看看