问题标签 [workflowservice]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
servicebus - 什么是 .NET 服务?
今天在 PDC 上宣布。最初由服务总线、工作流服务和访问控制服务组成。这些是什么?我为什么要使用它们?
workflow-foundation - 对 WF4 工作流服务进行单元测试
我正在玩 WF4 beta 2 并想对工作流服务进行单元测试。也许我错过了一些东西,但这似乎并不简单。
据我所知,我可能会使用WorkflowServiceHost
. 但是我认为创建主机然后在测试中使用它会产生很多开销。
难道没有一种简单的方法来测试工作流服务WorkflowInvoker.Invoke
吗?
sharepoint - 获得批准后共享点项目锁定
我有一个共享点自定义列表,它有 5 列..用户应该填写前三列,另外两列应该被锁定以填充..当用户输入项目并启动工作流程时,如果工作流程获得批准,则 3 列应该被锁定以进行编辑,然后其他两个应该可以进行编辑。
有人可以告诉我如何实现这一目标。
谢谢
c# - 使用 WorkflowServiceHost 托管工作流
好的,所以我可能会错误地处理这个问题,但基本上我正在尝试使用 4.0 中的新 WF 服务来构建一个托管 WF 服务的 Windows 服务。目前我已经构建了客户端(包含一个简单的 Activity XAML)和服务(在 XAMLX 文件中实现的 WF 服务)项目。
我为每一个都尝试了简单的“hello worlds”。客户端已托管在 a 中WorkflowApplication
,我最初将该服务设置为默认 WF 服务项目模板。两者似乎都很好。
由于我想在没有 IIS 的情况下托管服务,自然我的下一个尝试是将我的服务托管在WorkflowServiceHost
. 这样做我可以使用XamlServices.Load()
它返回的对象WorkflowServiceHost
以及端点的 URI 并将其传递给构造函数。我很担心,因为没有Run()
像类中那样的成员方法WorkflowApplication
。我假设该Open()
方法会将服务主机对象作为服务打开,并且它将启动工作流的一个实例,但没有任何迹象。
起初,我将服务工作流程设置为在启动时简单地写入文本文件,但什么也没发生。我尝试使用断点进行调试,但由于它在运行时加载 XAMLX 文件,VS 不允许我调试 WF。因此,我尝试稍微更改客户端项目以使用 aWorkflowServiceHost
而不是WorkflowApplication
. 我使用了相同的工作流程来测试 hello world 风格的工作流程,这次没有输出到控制台,并且WorkflowApplication
之前成功了。
以下是我对客户端所做的在控制台项目中托管工作流服务的基本操作。如果有人想查看工作流的 XAML,请告诉我,我会更新这个问题。这是Main()
.
.net-4.0 - 工作流服务主机不发布元数据
仍然在 IIS 之外托管的 WF 服务上以极端的持久性进行攻击。我现在遇到了我的 WF 服务发布元数据的问题。有人可以看看我的代码,看看我错过了什么步骤吗?我为我的场景偶然发现的一些教程使它看起来如此简单,我知道它是。我只是错过了一些简单得可笑的东西。这是我当前的试用代码:
Subscribe() 是一个在 xaml 文件中编码的活动,它包含简单的接收和发送回复活动,以测试我的托管工作流服务。它不是 xamlx(WF 服务)文件。看起来这应该足够简单,但是当我启动应用程序并触发服务时,当导航到 URI 时,我会在浏览器中收到此消息:
“此服务的元数据发布当前已禁用。”
添加默认端点不应该提供足够的元数据和描述来满足服务初始化,然后进入等待消息状态吗?
c# - 多个客户端到单例 WF 服务
Windows 工作流服务是否允许多个客户端使用一项服务?基本上我要做的是:构建一个允许客户端“订阅服务”的 WF 服务,然后当某些事件触发处理程序时,它将数据广播到每个客户端。所以基本上一些东西会在后台处理,然后当服务接收到一个小字符串时,它会通过回调将该字符串广播给每个客户端。
所以我首先需要弄清楚的是,如果我有一个带有 Subscription() 方法的服务向世界公开,如果我假设 3 个客户端调用该方法,存储有关其回调端点和实现的信息以保留以供未来数据使用广播”;所有这一切都可以在一个 WF 服务中发生吗?如果是这样,我如何在广播回调期间引用我的客户?
scope - 为什么我的工作流服务 (4.0) 变量在 DoWhile 活动中变为空?
我有一个 WF 服务,我正在尝试将接收活动设置为“订阅”和“取消订阅”。我使用This WF Durable Duplex Tutorial作为基础,因为我的服务执行对客户端的回调。基本上,将其视为聊天服务。
我可以很好地拨打两个接收活动的客户电话。发生的情况是客户端的回调地址被传递给服务上的 Subscribe()。该地址作为变量存储在 WF 服务中,一切看起来都像预期的那样工作。
当客户端调用 Unsubscribe() 时,我在调试期间在地址 var 上设置的手表显示为null
. 那么给了什么?
这是我的 WF 服务布局的基本设置...
一切都包含在 DoWhile 活动中。里面是一个 Pick 活动和两个 Pick 分支。第一个分支用于订阅活动。它有一个接收-发送-应答活动,将客户端传递的字符串分配给 WF 地址变量。第二个分支处理取消订阅。触发器是 Request 活动,再次传入客户端地址。
从那里它进入一个序列,从一个 If 开始。它检查是否unsubscribeAddress
等于address
已订阅。如果确实如此,那么它将设置address
为String.Empty
并将成功消息发送回客户端。
为什么将范围为包围 DoWhile 活动的变量隐式分配给 null?我试图让它工作,这样我就可以从那里实现多个客户端订阅者,并处理调用回调到多个客户端的触发器。
CONCAT 编辑:我在 DoWhile 级别设置了一个断点,一旦Unsubscribe()
调用我的 var 就为空。当Subscribe()
被调用时,手表会一直显示 var 中的值。直到我Unsubscribe()
有了一个客户。我应该改用 While Activity 吗?
rest - 带有 .NET 4.0 的 REST-ful 工作流服务
使用 WCF,我们可以创建可以接受杠杆 HTTP POST 并简单地接受 XElement 作为其参数的服务。我想对工作流服务做类似的事情,这样我就可以使用 jQuery 将 xml 信息集发布到服务,让它通过一堆规则运行,然后返回一个 xml 信息集。
使用 WCF 服务,我可以简单地使用 WebInvoke 装饰操作并继续我的快乐方式。是否可以使用带有工作流服务的 WebInvoke,如果可以,我应该怎么做?
workflow-foundation-4 - 暂停工作流程
假设我有一个示例工作流,它执行以下操作:
- 收到东西
- 运行长时间活动1(无用户输入)
- 运行长时间活动2(无用户输入)
- 送东西
通常activity2应该在activity1完成后自动运行,但我想阻止activity2的执行,直到工作流从用户那里得到继续。在活动 1 运行时,我希望能够告诉工作流在活动 1 完成后暂停,并在被告知时继续活动 2。
我想我需要一个工作流可以在运行 activity2 之前检查的标志,但是如何在 activity1 运行时更新这个标志?
谢谢
wcf - 将工作流服务与 msmqIntegrationBinding 一起使用
我一直在努力设置使用 msmqIntegrationBinding 的工作流服务。我现在遇到的问题是我总是得到这个序列化异常“System.ServiceModel.ProtocolException:反序列化消息时遇到错误。无法接收消息。---> System.Runtime.Serialization.SerializationException:发生错误在反序列化 MSMQ 消息的 XML 正文时。无法接收消息。确保服务合同使用适当的 [ServiceKnownType] 属性进行修饰,或者在 MsmqIntegrationBindingElement 上设置了 TargetSerializationTypes 属性。
据我了解,即使我在服务合同和工作流程中都使用通用类型MsmqMessage<MyMessageType>,序列化帮助程序也找不到任何类型来序列化消息。
MyMessageType是从带有 xsd.exe 的 .xsd 生成的。
更新:问题已解决 我在合同(接口)上为 WCF(Action、ServiceKnownType ...)进行了所有设置,而不是在工作流程中进行。当我把它移到工作流程中时,一切都开始工作了!!