Helper
//检测端口是否使用
public static bool VerifyListenerPort(int port)
{
bool inUse = false;
System.Net.NetworkInformation.IPGlobalProperties ipProperties = System.Net.NetworkInformation.IPGlobalProperties.GetIPGlobalProperties();
IPEndPoint[] ipEndPoints = ipProperties.GetActiveTcpListeners();
if (port > 65535) return true;// 超出范围
foreach (IPEndPoint endPoint in ipEndPoints)
{
if (endPoint.Port == port)
{
inUse = true;
break;
}
}
return inUse;
} public class rep_QueryACLReviewHistInfo
{
private int _result;
private string _errorDesc = "";
private long _histListNo;
private static int MAX_REVIEW_HIST_CNT = 100;
private ArrayWrapper<Typ_ACLReviewHistInfo> _histList = new ArrayWrapper<Typ_ACLReviewHistInfo>(MAX_REVIEW_HIST_CNT); public int result
{
get { return _result; }
set { _result = value; }
} public string errorDesc
{
get { return _errorDesc; }
set { _errorDesc = value; }
} public long histListNo
{
get { return _histListNo; }
set
{
if (value > MAX_REVIEW_HIST_CNT)
{
throw new Exception("histListNo must be less than MAX_REVIEW_HIST_CNT (100).");
}
_histListNo = value;
}
} public ArrayWrapper<Typ_ACLReviewHistInfo> histList
{
get { return _histList; }
}
}
public static bool rqst_QueryReviewHistInfo_to_XMLObject(rqst_QueryACLReviewHistInfo userData, ref string xmlStr, out string errDesc)
{
bool funcResult = false;
errDesc = "";
StringBuilder tmpStr = null;
StringWriter xmlWriter = null;
XmlTextWriter textWriter = null; try
{
tmpStr = new StringBuilder(xmlStr);
xmlWriter = new StringWriter();
textWriter = new XmlTextWriter(xmlWriter);
textWriter.WriteStartElement("msgBody");
textWriter.WriteElementString("instanceSysId", userData.instanceSysId);
textWriter.WriteElementString("reviewNo", userData.reviewNo.ToString()); textWriter.WriteEndElement();
xmlStr = tmpStr.Append(xmlWriter.ToString()).ToString();
funcResult = true;
}
catch (Exception e)
{
errDesc = e.Message;
funcResult = false;
}
finally
{
xmlWriter.Close();
textWriter.Close();
} return funcResult;
} public static bool rep_QueryReviewHistInfo_from_XMLObject(string xmlStr, ref rep_QueryACLReviewHistInfo userData, out string errDesc)
{
bool funcResult = false;
errDesc = "";
StringReader xmlReader = null;
XmlTextReader textReader = null;
Dictionary<string, bool> dicFlag = null;
bool OuterxmlFlag = false; try
{
xmlReader = new StringReader(xmlStr);
textReader = new XmlTextReader(xmlReader);
dicFlag = new Dictionary<string, bool>();
int histListIndex = 0; while (!textReader.EOF)
{
if (OuterxmlFlag == true)
{
OuterxmlFlag = false;
}
else
{
textReader.Read();
} dicFlag[textReader.Name] = true;
if (textReader.IsEmptyElement)
{
continue;
} if (textReader.NodeType == XmlNodeType.Element)
{
switch (textReader.Name)
{
case "result":
userData.result = int.Parse(textReader.ReadString());
break; case "errorDesc":
userData.errorDesc = textReader.ReadString();
break; case "histListNo":
userData.histListNo = int.Parse(textReader.ReadString());
break; case "histList":
string tempStr = textReader.ReadOuterXml();
OuterxmlFlag = true;
Typ_ACLReviewHistInfo temp_Typ_ACLReviewHistInfo = new Typ_ACLReviewHistInfo();
if (MsgTyp.Typ_ACLReviewHistInfo_from_XMLObject(tempStr, ref temp_Typ_ACLReviewHistInfo, out errDesc))
{
userData.histList[histListIndex] = temp_Typ_ACLReviewHistInfo;
histListIndex++;
}
else
{
return false;
}
break;
}
}
} if (!dicFlag.ContainsKey("result"))
{
errDesc = "rep_QueryACLReviewHistInfo_from_XMLObject: Parse from XML failed,item 'result' not found";
return funcResult;
} if (!dicFlag.ContainsKey("errorDesc"))
{
errDesc = "rep_QueryACLReviewHistInfo_from_XMLObject: Parse from XML failed,item 'errorDesc' not found";
return funcResult;
} if (!dicFlag.ContainsKey("histListNo"))
{
errDesc = "rep_QueryACLReviewHistInfo_from_XMLObject: Parse from XML failed,item 'histListNo' not found";
return funcResult;
} if (userData.histListNo > 0)
{
if (!dicFlag.ContainsKey("histList"))
{
errDesc = "rep_QueryACLReviewHistInfo_from_XMLObject: Parse from XML failed,item 'histList' not found";
return funcResult;
}
} funcResult = true;
}
catch (Exception e)
{
errDesc = e.Message;
funcResult = false;
}
finally
{
xmlReader.Close();
textReader.Close();
} return funcResult;
} public static bool Typ_ACLReviewHistInfo_from_XMLObject(string xmlStr, ref Typ_ACLReviewHistInfo userData, out string errDesc)
{
bool funcResult = false;
errDesc = "";
StringReader xmlReader = null;
XmlTextReader textReader = null;
Dictionary<string, bool> dicFlag = null; try
{
xmlReader = new StringReader(xmlStr);
textReader = new XmlTextReader(xmlReader);
dicFlag = new Dictionary<string, bool>(); while (!textReader.EOF)
{
textReader.Read(); dicFlag[textReader.Name] = true;
if (textReader.IsEmptyElement)
{
continue;
} if (textReader.NodeType == XmlNodeType.Element)
{
switch (textReader.Name)
{
case "userId":
userData.userId = textReader.ReadString();
break; case "activity":
userData.activity = textReader.ReadString();
break; case "txnTime":
userData.txnTime = textReader.ReadString();
break; case "txnComment":
userData.txnComment = textReader.ReadString();
break; case "costTime":
userData.costTime = textReader.ReadString();
break; case "choosedPathDesc":
userData.choosedPathDesc = textReader.ReadString();
break; case "reviewNo":
userData.reviewNo = textReader.ReadString();
break; case "stepSeq":
userData.stepSeq = textReader.ReadString();
break; case "stepName":
userData.stepName = textReader.ReadString();
break; case "txnSysId":
userData.txnSysId = textReader.ReadString();
break;
}
}
} if (!dicFlag.ContainsKey("userId"))
{
errDesc = "Typ_ACLReviewHistInfo_from_XMLObject: Parse from XML failed,item 'userId' not found";
return funcResult;
} if (!dicFlag.ContainsKey("activity"))
{
errDesc = "Typ_ACLReviewHistInfo_from_XMLObject: Parse from XML failed,item 'activity' not found";
return funcResult;
} if (!dicFlag.ContainsKey("txnTime"))
{
errDesc = "Typ_ACLReviewHistInfo_from_XMLObject: Parse from XML failed,item 'txnTime' not found";
return funcResult;
} if (!dicFlag.ContainsKey("txnComment"))
{
errDesc = "Typ_ACLReviewHistInfo_from_XMLObject: Parse from XML failed,item 'txnComment' not found";
return funcResult;
} if (!dicFlag.ContainsKey("costTime"))
{
errDesc = "Typ_ACLReviewHistInfo_from_XMLObject: Parse from XML failed,item 'costTime' not found";
return funcResult;
} if (!dicFlag.ContainsKey("choosedPathDesc"))
{
errDesc = "Typ_ACLReviewHistInfo_from_XMLObject: Parse from XML failed,item 'choosedPathDesc' not found";
return funcResult;
} if (!dicFlag.ContainsKey("reviewNo"))
{
errDesc = "Typ_ACLReviewHistInfo_from_XMLObject: Parse from XML failed,item 'reviewNo' not found";
return funcResult;
} if (!dicFlag.ContainsKey("stepSeq"))
{
errDesc = "Typ_ACLReviewHistInfo_from_XMLObject: Parse from XML failed,item 'stepSeq' not found";
return funcResult;
} if (!dicFlag.ContainsKey("stepName"))
{
errDesc = "Typ_ACLReviewHistInfo_from_XMLObject: Parse from XML failed,item 'stepName' not found";
return funcResult;
} if (!dicFlag.ContainsKey("txnSysId"))
{
errDesc = "Typ_ACLReviewHistInfo_from_XMLObject: Parse from XML failed,item 'txnSysId' not found";
return funcResult;
} funcResult = true;
}
catch (Exception e)
{
errDesc = e.Message;
funcResult = false;
}
finally
{
xmlReader.Close();
textReader.Close();
} return funcResult;
} public static void Typ_MsgHdr_to_XMLObject(Typ_MsgHdr userData, out string XmlMsgStr)
{
XmlMsgStr = ""; try
{
XElement MsgHeader = XElement.Parse(SFWUtility.SFW_MSG_HEADER);
MsgHeader.Element(SFWUtility.SFW_MSG_SRVADDR).Value = userData.SrvAddr;
MsgHeader.Element(SFWUtility.SFW_MSG_REQADDR).Value = userData.ReqAddr;
MsgHeader.Element(SFWUtility.SFW_MSG_MESSAGEOWNER).Value = userData.MsgOwner;
MsgHeader.Element(SFWUtility.SFW_MSG_SERVERMETHOD).Value = userData.SrvMethod;
MsgHeader.Element(SFWUtility.SFW_MSG_SERVERID).Value = userData.SrvId;
MsgHeader.Element(SFWUtility.SFW_MSG_TIMESTAMP).Value = userData.TimeStamp.ToString();
MsgHeader.Element(SFWUtility.SFW_MSG_TIMEOUT).Value = userData.Timeout.ToString();
MsgHeader.Element(SFWUtility.SFW_MSG_TRANSID).Value = userData.TransId.ToString();
MsgHeader.Element(SFWUtility.SFW_MSG_LOCALE).Value = userData.Locale;
MsgHeader.Element(SFWUtility.SFW_MSG_RETCODE).Value = ((int)userData.RetCode).ToString();
MsgHeader.Element(SFWUtility.SFW_MSG_RETMSG).Value = userData.RetMsg;
XmlMsgStr = MsgHeader.ToString(SaveOptions.DisableFormatting);
}
catch (Exception e)
{
Log.WriteLog(MethodBase.GetCurrentMethod().ReflectedType.ToString() + ": " + MethodBase.GetCurrentMethod().Name + ": " + e.Message);
}
} public static void Typ_MsgHdr_from_XMLObject(string XmlMsgStr, out Typ_MsgHdr userData)
{
userData = new Typ_MsgHdr(); try
{
XElement MsgHeader = XElement.Parse(XmlMsgStr);
userData.SrvAddr = MsgHeader.Element(SFWUtility.SFW_MSG_SRVADDR).Value;
userData.ReqAddr = MsgHeader.Element(SFWUtility.SFW_MSG_REQADDR).Value;
userData.MsgOwner = MsgHeader.Element(SFWUtility.SFW_MSG_MESSAGEOWNER).Value;
userData.SrvMethod = MsgHeader.Element(SFWUtility.SFW_MSG_SERVERMETHOD).Value;
userData.SrvId = MsgHeader.Element(SFWUtility.SFW_MSG_SERVERID).Value;
userData.TimeStamp = Convert.ToDateTime(MsgHeader.Element(SFWUtility.SFW_MSG_TIMEOUT).Value);
userData.Timeout = int.Parse(MsgHeader.Element(SFWUtility.SFW_MSG_TIMEOUT).Value);
userData.TransId = int.Parse(MsgHeader.Element(SFWUtility.SFW_MSG_TRANSID).Value);
userData.Locale = MsgHeader.Element(SFWUtility.SFW_MSG_LOCALE).Value;
userData.RetCode = int.Parse(MsgHeader.Element(SFWUtility.SFW_MSG_RETCODE).Value);
}
catch (Exception e)
{
Log.WriteLog(MethodBase.GetCurrentMethod().ReflectedType.ToString() + ": " + MethodBase.GetCurrentMethod().Name + ": " + e.Message);
}
}
Helper的更多相关文章
- [C#] 简单的 Helper 封装 -- RegularExpressionHelper
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- handlebars自定义helper的写法
handlebars相对来讲算一个轻量级.高性能的模板引擎,因其简单.直观.不污染HTML的特性,我个人特别喜欢.另一方面,handlebars作为一个logicless的模板,不支持特别复杂的表达式 ...
- Encountered an unexpected error when attempting to resolve tag helper directive '@addTagHelper' with value '"*, Microsoft.AspNet.Mvc.TagHelpers"'
project.json 配置: { "version": "1.0.0-*", "compilationOptions": { " ...
- VS2015突然报错————Encountered an unexpected error when attempting to resolve tag helper directive '@addTagHelper' with value 'Microsoft.AspNet.Mvc.Razor.TagHelpers.UrlResolutionTagHelper
Encountered an unexpected error when attempting to resolve tag helper directive '@addTagHelper' with ...
- JavaScript模板引擎artTemplate.js——template.helper()方法
上一篇文章我们已经讲到了helper()方法,但是上面的例子只是一个参数的写法,如果是多个参数,写法就另有区别了. <div id="user_info"></d ...
- [ASP.NET MVC 小牛之路]13 - Helper Method
我们平时编程写一些辅助类的时候习惯用“XxxHelper”来命名.同样,在 MVC 中用于生成 Html 元素的辅助类是 System.Web.Mvc 命名空间下的 HtmlHelper,习惯上我们把 ...
- asp.net MVC helper 和自定义函数@functions小结
asp.net Razor 视图具有.cshtml后缀,可以轻松的实现c#代码和html标签的切换,大大提升了我们的开发效率.但是Razor语法还是有一些棉花糖值得我们了解一下,可以更加强劲的提升我们 ...
- C# random helper class
项目中经常需要模拟些假数据,来做测试.这个随机生成数据的helper类就应用而生: using System; using System.Text; using System.Windows.Me ...
- @helper函数使用方法
这个函数方法,我也是通过别人博客看到的,感觉不错和大家一起学习分享一下. 1.自定义函数方法,只在同一个view视图文件里调用 Controller public ActionResult Index ...
- Razor 中的@helper 与 @function 用法
@helper : 可以有返回值,也可以没有返回值 @function :需要有返回值 可以将View中公共部分的代码抽取出来,变成一个独立的方法 公共部分 view 抽出的公共部分 ...
随机推荐
- Python CNN卷积神经网络代码实现
# -*- coding: utf-8 -*- """ Created on Wed Nov 21 17:32:28 2018 @author: zhen "& ...
- c#事务处理(sqlTransaction)
事务: /// <summary> /// 删除考勤 /// </summary> /// <param name="dto">Id</p ...
- python第二十九天-----继续学习第三模块——前几天旅行去了
subprocess模块 import subprocess subprocess.getstatusoutput('dir')#接收字符串格式命令,返回元组形式,第1个元素是执行状态,第2个是命令结 ...
- Matplotlib:可视化颜色命名分类和映射颜色分类
Matplotlib中支持的所有颜色分类 映射颜色分类
- Shell脚本应用(for、while循环语句和case分支语句)
1.for:读取不同的变量值,逐个执行同一组命令,直到取值完毕退出,变量值以空格分隔 语法: for 变量值 in 取值列表 do 命令序列 done 2.while:重复测试某个条件,成立则执 ...
- book118免费下载文档方法【转】
需要用的工具: 1.360浏览器 2.点"全屏预览",然后把鼠标放在"下载该文档",右键"审查元素",找到 途中箭头指向的标签(如图) 3. ...
- JDBC学习笔记之建立连接
1. 引言 在一个JDBC应用程序中,如果想建立和数据源的连接,那么可以使用以下两个类: DriverManager:通过数据源的URL,我们可以建立与指定的数据源的连接.如果使用 JDBC 4.0 ...
- 定义 java 基本数据类型
package debug; class Demo { /* * 定义八种基本数据类型,如下 */ public static void main(String[] args) { //define ...
- CSS 中伪类的顺序
因为css渲染方式的关系: 快速记忆方法:LoVe HAte 原则: L:link V:vistered H:hover A:active li :link { color: greenyellow; ...
- Vue框架的两种使用方式
1.单页面应用:使用Vue CLI工具生成脚手架,这是最常见的使用方式,简单用模板生成一个HelloWorld Demo,可以学习Vue的SPA项目结构 2.传统多页面应用:通过script引入Vue ...