📄 exchangemanager.cs
字号:
using System;
using System.Collections.Generic;
using System.Text;
using System.Workflow.Runtime;
using System.Workflow.Activities;
namespace wxwinter.wf.ExchangeService
{
public class ExchangeManager
{
WorkflowRuntime engine; //管理器所管理的引擎
public ExchangeManager(WorkflowRuntime engine)
{
this.engine = engine;
}
/// <summary>
/// 得到引擎中的ExternalDataExchangeService服务对象
/// </summary>
/// <returns></returns>
public ExternalDataExchangeService GetExchangeService()
{
if (engine == null)
{ throw new System.Exception("引擎没有实例化"); }
ExternalDataExchangeService exchange = engine.GetService<ExternalDataExchangeService>();
return exchange;
}
/// <summary>
/// 引擎中是否存ExternalDataExchangeService服务
/// </summary>
/// <returns></returns>
public bool IsExchangeServiceInEngine()
{
ExternalDataExchangeService exchange = GetExchangeService();
if (exchange == null)
{ return false; }
else
{ return true; }
}
/// <summary>
/// 添加ExternalDataExchangeService服务到引擎
/// </summary>
/// <returns></returns>
public string AddExchangeServiceToEngine()
{
ExternalDataExchangeService exchange = new ExternalDataExchangeService();
return AddExchangeServiceToEngine(exchange);
}
/// <summary>
/// 添加ExternalDataExchangeService服务到引擎
/// </summary>
/// <param name="persistence">ExternalDataExchangeService对象</param>
/// <returns></returns>
public string AddExchangeServiceToEngine(ExternalDataExchangeService exchange)
{
if (engine == null)
{ throw new System.Exception("引擎没有实例化"); }
if (engine.IsStarted)
{
return "引擎正在运行,无法向引擎添加ExternalDataExchangeService服务";
}
if (exchange == null)
{
throw new System.Exception("ExternalDataExchangeService服务没有实例化");
}
if (IsExchangeServiceInEngine())
{
return "引擎中已经存在ExternalDataExchangeService服务";
}
else
{
engine.AddService(exchange);
return "SqlWorkflowPersistenceService服务已添加到引擎中";
}
}
/// <summary>
/// 从引擎中移出ExternalDataExchangeService服务
/// </summary>
/// <returns></returns>
public string RemoveExchangeServiceFromEngine()
{
if (engine == null)
{ throw new System.Exception("引擎没有实例化"); }
if (engine.IsStarted)
{
return "引擎正在运行,无法移除ExternalDataExchangeService服务";
}
ExternalDataExchangeService exchange = GetExchangeService();
if (exchange == null)
{
return "引擎中不存在ExternalDataExchangeService服务";
}
else
{
engine.RemoveService(exchange);
return "ExternalDataExchangeService服务已移出";
}
}
/// <summary>
/// 添加方法或事件对象
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
public string AddServerObject(object obj)
{
try
{
GetExchangeService().AddService(obj);
return "ok";
}
catch (System.Exception ex)
{
return ex.Message;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -