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 抽出的公共部分 ...
随机推荐
- [20171031]markhot.txt
[20171031]markhot.txt --//昨天看了https://jonathanlewis.wordpress.com/2017/10/02/markhot/,测试看看这样时候可以减少争用 ...
- 高德地图JS API 开发小结
项目中有一块功能要用到高德地图,所以,想把编码小结一下. 首先是地图的初始化 var map = new AMap.Map("mapDiv", { ...
- Linux常用命令大全(新手入门)
系统信息: arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SM ...
- NFS常见问题
问题一:取消挂载失败 问题现象: umount /opt/data umount.nfs: /opt/data: device is busy umount.nfs: /opt/data: devic ...
- Linux 装机必备工具
linux 装机必备工具:安装这些基本能满足日常需求. #!/usr/bin/env sh echo "Env" # vim # tmux # ssh ...
- Jmeter参数化方法
用Jmeter测试时包含两种情况的参数:一种是在url中,一种是请求中需要发送的参数. 设置参数值的方法有如下几种: 一.函数助手 用Jmeter中的函数获取参数值,__Random,__thread ...
- 17秋 软件工程 第六次作业 Beta冲刺 总结博客
题目:团队作业--Beta冲刺 17秋 软件工程 第六次作业 Beta冲刺 总结博客 Beta冲刺过程中各个成员的贡献百分比 世强:15.5% 陈翔:14.5% 树民:12.0% 媛媛:14.0% 港 ...
- Django之ORM查询进阶
基于双下划线的双表查询 分组与聚合函数 基于双下划线的双表查询 Django 还提供了一种直观而高效的方式在查询(lookups)中表示关联关系,它能自动确认 SQL JOIN 联系.要做跨关系查询, ...
- 数据挖掘十大算法--K-均值聚类算法
一.相异度计算 在正式讨论聚类前,我们要先弄清楚一个问题:怎样定量计算两个可比較元素间的相异度.用通俗的话说.相异度就是两个东西区别有多大.比如人类与章鱼的相异度明显大于人类与黑猩猩的相异度,这是能 ...
- xiaowuga poj3735—Training little cats(特殊操作转化为矩阵操作)
题意:有n只猫,对其进行k次操作,然后反复这样操作m次. 其中g 表示 i 猫加1, e表示 i 猫为0:s表示 i 与 j 猫互换. 解释一下样例: 3 1 6g 1g 2g 2s 1 2g 3e ...