当前位置: 首页>>代码示例>>C#>>正文


C# ILog.GetObjectReferences方法代码示例

本文整理汇总了C#中ILog.GetObjectReferences方法的典型用法代码示例。如果您正苦于以下问题:C# ILog.GetObjectReferences方法的具体用法?C# ILog.GetObjectReferences怎么用?C# ILog.GetObjectReferences使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ILog的用法示例。


在下文中一共展示了ILog.GetObjectReferences方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: WriteFlowEvent

		private void  WriteFlowEvent(TextWriter logDetail, ILog eventLog, IFlow flow)
		{
			logDetail.Write("  <tr>" + "\r\n");
			logDetail.Write("    <td bgcolor=#ffffff>" + "\r\n");
			logDetail.Write("      <table border=0 cellspacing=0 cellpadding=0 width=100%>" + "\r\n");
			logDetail.Write("        <tr><th class=tableEventLogCell width=100% colspan=2 nowrap>" + eventLog.EventType + "</th></tr>" + "\r\n");
			logDetail.Write("        <tr>" + "\r\n");
			logDetail.Write("          <td>&nbsp;&nbsp;&nbsp;&nbsp;</td>" + "\r\n");
			logDetail.Write("          <td width=100%>" + "\r\n");
			
			this.details = new System.Collections.ArrayList();
			AddDetail("Time", eventLog.Date.ToString());
			
			IActor actor = eventLog.GetActor();
			if (actor != null)
			{
				AddDetail("Actor", actor.Name);
			}
			
			if (eventLog.EventType == EventType.FORK)
			{
				logDetail.Write("            <table border=0 cellpadding=0 cellspacing=5>" + "\r\n");
				logDetail.Write("              <tr>" + "\r\n");
				IEnumerator iter = eventLog.GetObjectReferences("Flow").GetEnumerator();
			
				while (iter.MoveNext())
				{
					IObjectReference objectReference = (IObjectReference) iter.Current;
					IFlow subFlow = (IFlow) objectReference.GetObject();
					subFlow = GetFlow(subFlow.Id);
					
					logDetail.Write("                <td valign=top height=100%>" + "\r\n");
					WriteFlow(logDetail, subFlow);
					logDetail.Write("                </td>" + "\r\n");
				}
				logDetail.Write("              </tr>" + "\r\n");
				logDetail.Write("            </table>" + "\r\n");
			}
			else if (eventLog.EventType == EventType.SUB_PROCESS_INSTANCE_START)
			{
				IObjectReference objectReference = (IObjectReference) eventLog.GetObjectReferences("ProcessInstance").GetEnumerator().Current;
				IProcessInstance subProcessInstance = (IProcessInstance) objectReference.GetObject();
				IFlow subFlow = GetFlow(subProcessInstance.RootFlow.Id);
				WriteFlow(logDetail, subFlow);
			}
			else
			{
				// if it is no fork or subprocess, log the details
				IEnumerator iter = eventLog.Details.GetEnumerator();
				while (iter.MoveNext())
				{
					AddDetail((ILogDetail) iter.Current);
				}
				
				WriteDetails(logDetail);
			}
			
			logDetail.Write("          </td>" + "\r\n");
			logDetail.Write("        </tr>" + "\r\n");
			logDetail.Write("        <tr><td>&nbsp;</td></tr>" + "\r\n");
			logDetail.Write("      </table>" + "\r\n");
			logDetail.Write("    </td>" + "\r\n");
			logDetail.Write("  </tr>" + "\r\n");
		}
开发者ID:qwinner,项目名称:NetBPM,代码行数:64,代码来源:AdminHelper.cs


注:本文中的ILog.GetObjectReferences方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。