2016年7月20日 星期三

[C#] 泛型反序列化XML


最近因為API需要解析xml,所以整理了一下之前用到反序列化小工具。

 public class XmlHelper
    {
        public static TSource TryPareseXml<TSource>(string xmlString)
        {
            XmlSerializer serializer = new XmlSerializer(typeof(TSource));
            TSource result;
 
            //反序列化
            using (TextReader reader = new StringReader(xmlString))
            {
                try
                {
                    result = (TSource)serializer.Deserialize(reader);
                }
                catch (Exception)
                {
                    return default(TSource); ;
                }
                return result;
            }
        }
    }

[C#] 時間格式設定

 

簡易的方法

string.Format("{0:yyyy/MM/dd hh:mm:ss}", 時間);

2016年7月15日 星期五

[Error] 在唯一金鑰屬性 'name' 設為 'Access-Control-Allow-Origin' 的情況下…

 

2016-07-15_150136

如圖問題,目前是在發佈在網站下的子應用程式下就會出現

如果放在父層(一般IIS網站底下)就沒有此問題,因此父層允許外界ajax呼叫,子層網站亦可受惠

有好有壞,自己衡量。

2016年7月14日 星期四

[C#] 自訂錯誤訊息

public class MyException : ExceptionISerializable
   {
       public MyException()
           : base("丟出自訂例外狀況") { }
       public MyException(string message)
           : base(message) { }
       public MyException(string message, Exception inner)
           : base(message, inner) { }
       protected MyException(SerializationInfo info, StreamingContext context)
           : base(info, context) { }
   }

2016年7月13日 星期三

[NLog] 安裝步驟整理(簡易)


需要記錄資料 :
1.問題發生時間、request路徑、Session等
2.按照時間分類資料夾即可
第一步 : 下載相關組件
進入nuget管理套件畫面下載 NLog、NLog.Extended以及組態檔
1
2016-07-13_145635

第二步: 設定組態
可以參考官方教學 : https://github.com/NLog/NLog/wiki/Tutorial
有使用NLog.Extended記得要額外inlcude

  <extensions>
    <add assembly="NLog.Extended"/>
    <add assembly="NLog.Web"/>
  </extensions>

我的顯示樣版如下 :



直接取代預設的樣版即可
注意在rules 可以設定你需要寫入的層級,也可以寫入不同地坊

第三步 : 呼叫logger執行即可
private static Logger logger = LogManager.GetCurrentClassLogger();


以上