110,476
社区成员
发帖
与我相关
我的任务
分享
public class CustomReturnCode : Exception
{
private int _code;
public int Code
{
get { return _code; }
}
private string _message;
public override string Message
{
get
{
return _message;
}
}
public CustomReturnCode()
: base()
{
}
public CustomReturnCode(string message)
: base(message)
{
_code = -1;
_message = message;
}
public CustomReturnCode(int code, string message)
{
_code = code;
_message = message;
}
public void SetReturnCode(int code, string message)
{
_code = code;
_message = message;
}
}
//返回执行结果的枚举
public enum CommandResult
{
[Description("成功")]
Success = 1,
[Description("Url太长")]
UrlTooLong = 2,
};
//枚举功能辅助
public static class EnumHelper
{
public static string GetEnumDescription(object enumSubitem)
{
enumSubitem = (Enum)enumSubitem;
string strValue = enumSubitem.ToString();
FieldInfo fieldinfo = enumSubitem.GetType().GetField(strValue);
if (fieldinfo != null)
{
Object[] objs = fieldinfo.GetCustomAttributes(typeof(DescriptionAttribute), false);
if (objs == null || objs.Length == 0)
{
return strValue;
}
else
{
DescriptionAttribute da = (DescriptionAttribute)objs[0];
return da.Description;
}
}
else
{
return "";
}
}
}
private void PrintToLog()
{
if (!_isWriteLog)
{
return;
}
if (!_isRegistedLog)
{
switch (ConfigurationManager.AppSettings["LogType"])
{
case "None":
_isWriteLog = false;
return;
case "Console":
Logger.RegisterConsoleListener();
break;
case "File":
Logger.RegisterTextWriterListener();
break;
default:
_isWriteLog = false;
return;
}
_isRegistedLog = true;
}
StackTrace st = new StackTrace(false);
StackFrame sf = st.GetFrame(1);
//提供方法执行的上下文环境
OperationContext context = OperationContext.Current;
//获取传进的消息属性
MessageProperties properties = context.IncomingMessageProperties;
//获取消息发送的远程终结点IP和端口
RemoteEndpointMessageProperty endpoint = properties[RemoteEndpointMessageProperty.Name] as RemoteEndpointMessageProperty;
Logger.Info(string.Format("IP - {0}:{1},请求方法:{2}", endpoint.Address, endpoint.Port, sf.GetMethod().Name));
}