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 抽出的公共部分 ...
随机推荐
- SOAP REST
SOAP是基于RPC原理,是传统程序的函数调用和返回在RPC中被请求和应答代替了而已. SOAP Simple Object Access Protocol,是一种严格定义的信息交换协议,用于在web ...
- 【HANA系列】SAP HANA XS的JavaScript安全事项
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA XS使用Jav ...
- SQL Server 临时表和表变量系列之选择篇
原文地址:https://yq.aliyun.com/articles/69187 摘要: # 摘要 通过前面的三篇系列文章,我们对临时表和表变量的概念.对比和认知误区已经有了非常全面的认识.其实,我 ...
- 罗马数字转整数的golang实现
罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 字符 数值 I V X L C D M 例如, 罗马数字 2 写做 II ,即为两个并列的 1.12 写做 XII ,即为 X + ...
- 紧急整理了 20 道 Spring Boot 面试题,我经常拿来面试别人!
面试了一些人,简历上都说自己熟悉 Spring Boot, 或者说正在学习 Spring Boot,一问他们时,都只停留在简单的使用阶段,很多东西都不清楚,也让我对面试者大失所望. 下面,我给大家总结 ...
- 寒假训练——搜索 E - Bloxorz I
Little Tom loves playing games. One day he downloads a little computer game called 'Bloxorz' which m ...
- WPFの数据源事件变更通知
如果数据绑定的目标是TextBox元素的Text属性,那么默认会使用双向绑定(Mode.TwoWay),此时用户可以通过更改TextBox元素Text属性的值从而更新源属性信息,但是如果在程序代码中更 ...
- Android集成讯飞语音、百度语音、阿里语音识别
项目实践:https://blog.csdn.net/Jsagacity/article/details/80094164 demo下载地址:https://fir.im/jy28 demo源码:ht ...
- go标准库的学习-net/url
参考:https://studygolang.com/pkgdoc 导入方式: import "net/url" url包解析URL并实现了查询的逸码,参见RFC 3986. fu ...
- mysql数据表的字段操作
CREATE TABLE `users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(255) DEFAULT NULL, ` ...