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 抽出的公共部分 ...
随机推荐
- CSS:float: right 靠右换行的解决方法
1.float: right的使用用法:使用html代码<span style="float: right">*****</SPAN>,其中*****就是你 ...
- Calling Matlab function from python: “initializer must be a rectangular nested sequence”
I am writing a python script from which I hope to call the Matlab anovan function. I have attempted ...
- [Demo_03] MapReduce 实现多类型输出
0. 说明 MapReduce 实现将最高气温统计数据输出为文本格式和 SequenceFile 格式 在最高气温统计的基础上进行操作 1. 核心代码 // 多输出格式设置 MultipleOutpu ...
- 如何以SYSTEM用户运行CMD
有的时候有些文件在管理员账户不能删除,这个时候需要在SYSTEM用户下删除. 可以通过以SYSTEM权限运行CMD来删除某些文件或目录的目的. 1. 从微软网站下载PSTool. 2. 以管理员运行C ...
- 【PAT】B1038 统计同成绩学生(20)(20 分)
#include<stdio.h> int arr[102]={0};//分数作为自己的下标,注意 int main(){ int N;scanf("%d",& ...
- python——虚拟环境之virtualenv(windows10,64位)
1 问题 当我们拥有两个甚至多个项目A.B.C......,各个项目正常运行需求的python运行环境都不相同.而默认情况下,不管哪个项目,使用的都是全局的Python环境.上述情况,造成的问题就是, ...
- 17秋 软件工程 团队第五次作业 Alpha 测试报告
用户反馈博客:17秋 软件工程 团队第五次作业 Alpha 用户反馈 团队项目软件的总体测试计划 测试模块: 用户登录 部门信息模块 活动模块 部员管理模块 短信通知模块 测试计划: 注:测试结果Y代 ...
- Python 使用 xlwings 往 excel 中写入一行数据的两种方法
该方法跟上一篇写入一列的方法相反,代码如下: # -*- coding:utf-8 -*- import xlwings as xw list1 = [1,2,3,4,5] list2 = [[1], ...
- linux如何查看端口被哪个进程占用
1.lsof -i:端口号 2.netstat -tunlp|grep 端口号 都可以查看指定端口被哪个进程占用的情况 工具/原料 linux,windows xshell 方法/步骤 [ ...
- 这款 WordPress商用插件 0day 漏洞满满,且已遭利用
Wordfence 安全研究员发布报告称,WordPress 商用插件 Total Donations 受多个 0day 漏洞的影响,且这些漏洞已遭利用. 这些严重的漏洞影响所有已知的 Total D ...