zoukankan      html  css  js  c++  java
  • 从SmartObject中读取数据

    对K2 Blackpearl有一定了解的人都知道,SmartObject可以帮助我们完成数据持久化的工作,以下是根据流程实例ID(ProcessInstanceID)从SmartObject中读取数据相关代码,这些代码在SDK中也是可以找到的,现在贴出来给大家,希望有帮助,同时希望有大虾可以予小弟以指点。

        //根据KEY ID从SmartObject中取数据
    private void LoadData(string argProInstanceID)
    {
    SourceCode.SmartObjects.Client.SmartObjectClientServer socs
    = new SourceCode.SmartObjects.Client.SmartObjectClientServer();

    // build a connection string
    SourceCode.Hosting.Client.BaseAPI.SCConnectionStringBuilder connectionString = new SourceCode.Hosting.Client.BaseAPI.SCConnectionStringBuilder();
    connectionString.Authenticate
    = true;
    connectionString.Host
    = System.Configuration.ConfigurationManager.AppSettings["K2Server"];
    connectionString.Integrated
    = true;
    connectionString.IsPrimaryLogin
    = true;
    connectionString.Port
    = Convert.ToUInt32(System.Configuration.ConfigurationManager.AppSettings["HostServicePort"]);
    //connectionString.UserID = "UserID";
    //connectionString.Password = "******";
    connectionString.WindowsDomain = "domain";
    connectionString.SecurityLabelName
    = "K2";

    // open a K2 Server connection
    socs.CreateConnection();
    socs.Connection.Open(connectionString.ToString());
    try
    {
    // get a handle to the 'so_DHFKSQ' SmartObject
    SourceCode.SmartObjects.Client.SmartObject so = socs.GetSmartObject("so_DHFKSQ");

    // specify which method will be called
    so.MethodToExecute = "Load";

    // specify input parameters for the method
    so.Properties["ProInstanceID"].Value = argProInstanceID;

    // call the method
    socs.ExecuteScalar(so);

    // note: if a method of type 'list' was specified, then the 'ExecuteList' method should be called
    // serverName.ExecuteList(smartObject);

    // read the return properties of the SmartObject
    Folio.Text = so.Properties["Folio"].Value;
    ApplyEmployee.Text
    = so.Properties["ApplyEmployee"].Value;
    ApplyAmount.Text
    = so.Properties["ApplyAmount"].Value;
    ApplyDate.Text
    = so.Properties["ApplyDate"].Value;
    HigherLevelApprover.Text
    = so.Properties["HigherLevelApprover"].Value;
    FinanceApprover.Text
    = so.Properties["FinanceApprover"].Value;
    }
    catch (Exception ex)
    {
    throw new Exception(ex.Message);
    }
    finally
    {
    // close the connection
    socs.Connection.Close();
    }
    }

    希望K2 Blackpearl的大虾们看到后,能给小弟予以指导,不甚感激。

  • 相关阅读:
    springCloud学习6(Spring Cloud Sleuth 分布式跟踪)
    springCloud学习5(Spring-Cloud-Stream事件驱动)
    springCloud学习4(Zuul服务路由)
    springCloud学习3(Netflix Hystrix弹性客户端)
    springCloud学习笔记2(服务发现)
    EFCore
    webBrowser.DocumentText重新赋值无效解决方法
    C# SQLite写入和读取DateTime类型
    自定义协议链接 ------2.实践篇
    自定义协议链接 ------1.原理篇
  • 原文地址:https://www.cnblogs.com/dannyli/p/2122004.html
Copyright © 2011-2022 走看看