2018年3月10日 星期六

客製化序列化/反序列化的輸出屬性名稱

序列化真的很常遇到,但有時會遇到介接的資料很難看,全大寫會全小寫,或是其他奇怪的命名,真的很難閱讀,但又希望可以正常的反序列化為我們自訂的物件,並且遵循我們定義的屬性名稱。

準備一份 json 如下圖

image

此時使用「將 json 貼上為類別」,就會直接建置好物件,測試反序列化確實也可以正常運作

image

但我們希望改造成自己喜歡的命名方式,還可以維持正常的運作;該怎麼做呢?只需要在屬性上方,掛上 attribute 即可,如下圖所示

image

其中屬性名稱已經可以調整成自己喜歡的格式,並且還可以維持正常運作

image

2018年3月4日 星期日

Private Nuget Server

之前一直想自己架設 nuget,測試後終於有些心得,並且紀錄一下過程;

首先來建置 nuget 專案

使用VS2017 新增空白專案,甚麼都不用選,注意 targetFramework 為4.6.1版本(如下圖)

2018-3-4 下午 04-02-29

接著再安裝 nuget server 套件,這邊當時的版本是 3.1.2

2018-3-4 下午 04-05-35

安裝好之後,專案結構會變如下所示

2018-3-4 下午 04-13-35

緊接著 Ctrl + F5 跑一下站台,既然出錯了,但是錯誤訊息有明顯提示,調整為一個區段即可(直接移除 4.6),站台就可以跑起來了,值得注意的是原以為會跑webform,沒想到既然實作了routing 機制~

2018-3-4 下午 04-15-36

2018-3-4 下午 04-19-28

觀看Web.config 檔案中 appSettings 區段,有相關參數可以設定,其中packagesPath 就是 packages 資料夾(沒設定,預設),另外也建議必須設定apiKey,這邊是在之後發佈套件的時候,除了指定站台Url 之外,尚須要輸入指定的apiKey值

接著來架設站台

發行一下站台,並且架設至IIS;但因為站台只想鎖定特定人士存取(e.g AD機制),故取消匿名存取,啟用 windows 驗證

Visual Studio 加入nuget server,這邊踩了一下雷,站台網址後面必須多加一個 /nuget 路徑;之後在 nuget 套件管理的來源,就可以看到自己的網址了

2018-3-4 下午 04-40-02


[ 2019/4/14 更新 ] 補充若使用了AD 認證,故打網址時,未自動彈出帳密輸入視窗,記得帳號前要加入 domain:xxxx\username 以免一直試錯