- C# code
public static User XmlToUser(string xml) { XmlDocument doc = new XmlDocument(); User user = new User(); try { doc.LoadXml(xml); user.IDNo = (doc.SelectSingleNode("Request/IDNo").InnerText == null) ? "" : doc.SelectSingleNode("Request/IDNo").InnerText; user.IDType = (doc.SelectSingleNode("Request/IDType").InnerText == null) ? "" : doc.SelectSingleNode("Request/IDType").InnerText; ; user.MarrigeStatus = (doc.SelectSingleNode("Request/MarrigeStatus").InnerText == null) ? "" : doc.SelectSingleNode("Request/MarrigeStatus").InnerText; user.Mobile = (doc.SelectSingleNode("Request/Mobile").InnerText == null) ? "" : doc.SelectSingleNode("Request/Mobile").InnerText; user.Name = (doc.SelectSingleNode("Request/Name").InnerText == null) ? "" : doc.SelectSingleNode("Request/Name").InnerText; user.Sex = (doc.SelectSingleNode("Request/Sex").InnerText == null) ? "" : doc.SelectSingleNode("Request/Sex").InnerText; user.TelephoneNo = (doc.SelectSingleNode("Request/TelephoneNo").InnerText == null) ? "" : doc.SelectSingleNode("Request/TelephoneNo").InnerText; user.Uid = (doc.SelectSingleNode("Request/Uid").InnerText == null) ? 0 : Convert.ToInt32(doc.SelectSingleNode("Request/Uid").InnerText); user.Zip = (doc.SelectSingleNode("Request/Zip").InnerText == null) ? "" : doc.SelectSingleNode("Request/Zip").InnerText; user.DOB = (doc.SelectSingleNode("Request/DOB").InnerText == null) ? DateTime.Now : DateTime.Parse(doc.SelectSingleNode("Request/DOB").InnerText); user.CreateDate = (doc.SelectSingleNode("Request/CreateDate").InnerText == null) ? DateTime.Now : DateTime.Parse(doc.SelectSingleNode("Request/CreateDate").InnerText); user.Address = (doc.SelectSingleNode("Request/Address").InnerText == null) ? "" : doc.SelectSingleNode("Request/Address").InnerText; } catch { throw; } return user; }
本人写了这么个方法,本人用throw抛出异常,然后在WebService中调用这个方法,想在WebService中处理这个异常然后将异常信息写入日志,大家教教我怎么做,本人很菜,还有想写个异常类,来集中处理自己抛出的异常,问哈大家如何写这个异常类,在这里先祝各位工作顺利
------解决方案--------------------------------------------------------
给你看看我写的异常记录吧
异常信息还是认真的记录下来的好
- C# code
catch (Exception ex) { Log.Write("\r\n----------------------------------------------------------------\r\n"); Log.Write("提交客户电子注册错误!" + DateTime.Now + "错误描述" + ex.ToString() + "\r\n"); Log.Write("----------------------------------------------------------------\r\n"); }
------解决方案--------------------------------------------------------
呵呵 你可以直接用log4net
web.config
- XML code
<?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" /> </configSections> <log4net> <logger name="logerror"> <level value="ERROR" /> <appender-ref ref="ErrorAppender" /> </logger> <logger name="loginfo"> <level value="INFO" /> <appender-ref ref="InfoAppender" /> </logger> <appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender"> <param name="File" value="Log//LogError//" /> <param name="AppendToFile" value="true" /> <param name="MaxSizeRollBackups" value="100" /> <param name="MaxFileSize" value="10240" /> <param name="StaticLogFileName" value="false" /> <param name="DatePattern" value="yyyyMMdd".htm"" /> <param name="RollingStyle" value="Date" /> <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="<HR COLOR=red>%n异常时间:%d [%t] <BR>%n异常级别:%-5p <BR>%n异 常 类:%c [%x] <BR>%n%m <BR>%n <HR Size=1>" /> </layout> </appender> <appender name="InfoAppender" type="log4net.Appender.RollingFileAppender"> <param name="File" value="Log//LogInfo//" /> <param name="AppendToFile" value="true" /> <param name="MaxFileSize" value="10240" /> <param name="MaxSizeRollBackups" value="100" /> <param name="StaticLogFileName" value="false" /> <param name="DatePattern" value="yyyyMMdd".htm"" /> <param name="RollingStyle" value="Date" /> <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="<HR COLOR=blue>%n日志时间:%d [%t] <BR>%n日志级别:%-5p <BR>%n日 志 类:%c [%x] <BR>%n%m <BR>%n <HR Size=1>" /> </layout> </appender> </log4net> <system.web> <compilation defaultLanguage="c#" debug="true" /> <customErrors mode="RemoteOnly" /> <authentication mode="Windows" /> <authorization> <allow users="*" /> </authorization> <trace enabled="false" requestLimit="10" pageOutput="false" traceMode="SortByTime" localOnly="true" /> <sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" cookieless="false" timeout="20" /> <globalization requestEncoding="utf-8" responseEncoding="utf-8" /> </system.web> </configuration>