首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从MVC调用K2工作流

如何从MVC调用K2工作流
EN

Stack Overflow用户
提问于 2015-02-10 19:01:22
回答 2查看 2.4K关注 0票数 3

所有这些都只是想知道我们是否可以从控制器中调用K2工作流?我有一个用MVC开发的UI,需要实现一些工作流.我们有办法做到这一点吗?有任何K2 API吗?我们可以直接从控制器打电话吗?任何指针,例如,都会有帮助。

提前谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-02-13 11:53:15

您当然可以使用MVC的K2做任何事情。它们有各种各样的API (web服务、dll等)。您可以查看开发人员引用的这里

您的K2安装包含您所需的所有*..dll。默认位置是C:\Program (x86)\K2黑珍珠\Bin。

下面是一个使用SourceCode.Workflow.Client.dll启动工作流的简单示例:(注意:我编写了自己的类库来处理所有K2交互,以便将工作从控制器中分离出来,但如果需要,只需将下面的方法放在控制器中即可)。

代码语言:javascript
复制
using SourceCode.Workflow.Client;

public class MySampleK2Service: IMySampleK2Service
{

    private readonly string serverHost;
    private readonly string impersonatedUser;

    public MySampleK2Service(string serverHost, string impersonatedUser)
    {
        this.serverHost = serverHost;
        this.impersonatedUser = impersonatedUser;
    }

    public int StartNewWorkflow(string processName, string folio)
    {
        using (var connection = new Connection())
        {
            connection.Open(this.serverHost);

            if (this.impersonatedUser != null)
            {
                connection.ImpersonateUser(this.impersonatedUser);
            }

            var processInstance = connection.CreateProcessInstance(processName);
            processInstance.Folio = folio;
            connection.StartProcessInstance(processInstance, true);

            return processInstance.ID;
        }
    }
}
票数 3
EN

Stack Overflow用户

发布于 2015-12-08 22:32:07

您还可以使用K2提供的称为K2Services的Web。有了这些,你就不需要任何参考了。

例如,您可以使用REST并使用GET方法轻松启动一个新进程。

如果您需要更多的控制并通过DataFields传递数据,您可以使用POST方法。

更多信息,这里

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28439686

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档