- 前言
- DataContractJsonSerializer 反序列化物件時,發現 Json 的欄位名稱多了"k__BackingField"。
查找問題時發現是 Serializable 屬性造成的。 - 主文
- 解決方法:物件屬性加入 DataContract, DataMember
- 如下:
- JSON的內容: "{\"Name\":\"Adm\",\"PID\":\"1\"}"
- "ID" 因為設定屬性 Name="PID" 所以 JSON 的 Key 為PID
- Age 沒設定 DataMember 所以沒有值。
- 參考
F-Blog
2013年3月1日 星期五
DataContractJsonSerializer 序列化成 JSon時,欄位名稱主動擴展的問題
C# 用 sqlite 筆記
單純筆記
- 下載 sqlite3:
- C# 元件:
- 可使用 NuGet 下載 System.Data.SQLite.dll, System.Data.SQLite.Linq.dll
- 程式語法、範例:
- 其他:
- In - Memory 用法
- 用 sqlite3 建立DB後, 會產生檔案。
2013年2月26日 星期二
Silverlight 無法進入 breakpoint
- 前言
- 執行 Silverlight 專案時,無法進入 Breakpoint。
- 主文
- 下面有我試過的方式,包括很無腦的動作 ...
- 結束 ASP .Net Framework Develope Server
- 網頁更新數次:
- 有時候是 browser 問題
- 修改專案的 Property(這才是正解!!):
- 打開引用 Silverlight Web 的專案,記得是 Web 的,不是Silverlight 專案本身。
- 打開專案的 Properties,選擇 Web
- Debuggers 項目(最下面),勾選 Silverlight,完成。
2013年2月6日 星期三
Node.js筆記 - 加入自己的 module
- 前言
- 我們可以將不同的 method、function,放在不同的實體檔案(xxx.js),之後再根據需要,適當的用
require('./xxx')
語法加入。 - 這裡只談加入自己的文件,而module 的機制可以看參考提供的連結。
- 主文
- 加入自己的 module 有幾種方式:
- 使用 require("檔案名") 的方式直接引入單一檔案
- 檔案名必須由 ./ 開頭。Ex. require("./route.js");
- 可簡略附檔名(.js);實際上Node.js 會搜尋附檔名決定引用方式。
- 三種附檔名
- .js:通過 fs 讀取檔案,同時編譯執行內容。
- .json:使用 JSON.parse( ) 解析檔案。
- .node:通過 C/C++ 所寫的Add On,使用dlopen方式載入。
- 檔案名可以包含相對路徑。Ex. require("./../public/routes/user.js");
- 使用 require("資料夾名") 引入資料夾底下的所有檔案。
- 同樣可包含相對路徑。
- 資料夾底下要包括 index.js 檔案。
- 可在 index.js 內容引入資料夾內的其他檔案。
- exports.something = require("./routes/something.js");
- exports.something = require("./routes/others.js");
- 使用 package.json:
- 這方法在此不討論,跟 npm 的機制有關。
- 參考
2013年1月29日 星期二
Node.js 筆記 - npm install (-g) 差別 - Local V.S Global
- 前言
- 使用 npm 安裝元件時, 有兩種模式- local & global
- 說明
- npm install (-g)
- local:
- 預設的安裝方式
npm install
- 安裝位置在當下資料夾的
./node_modules
- 使用
require()
語法時, 用此安裝方式 - global:
- 必須明確加入
npm install -g
指令 - 安裝位置在 /usr/local 底下, 或是 node.js 安裝的資料夾
- 以 command line 的方式使用。
- 範例
- express 安裝為 global 時, 可以使用 command line 建立基本的 Web 專案
- 參考
2013年1月17日 星期四
Node.js筆記 - 非同步的try/catch
執行非同步的 methods 時,
若要用try/catch 去抓錯誤,
需要特殊的方式
參考如下
http://syshen.cc/post/10726736762/catch-exception-thrown-in-javascript-callback
http://benno.id.au/blog/2011/08/08/nodejs-exceptions
若要用try/catch 去抓錯誤,
需要特殊的方式
參考如下
http://syshen.cc/post/10726736762/catch-exception-thrown-in-javascript-callback
http://benno.id.au/blog/2011/08/08/nodejs-exceptions
2013年1月11日 星期五
Node.js筆記 - REPL
說明
Repl 指的是交互作用的介面
簡單的說 我們可以直接在如 終端機, 執行 node 的指令
可參考 (http://nodejs.org/api/repl.html)
幾項重點
Repl 指的是交互作用的介面
簡單的說 我們可以直接在如 終端機, 執行 node 的指令
可參考 (http://nodejs.org/api/repl.html)
幾項重點
- 可以同時開啟多個 REPL的介面
- 共用所有的全域變數
- 擁有各自的IO
- 可用 repl.start(), 啟動一個 repl
- _ => 代表上一個表達示(expression)的執行結果
- 特殊的 Command:
- .break:中斷目前的輸入, .break前面打的訊息 都不算數
- .clear:將context 重置為空的物件, 還有清除 multi-line expression.
- .exit:退出當前的 repl
- .help:展示有哪些特殊的 Command.
- .save:將目前 repl 的 session 存在檔案裡,
- Ex. .save ./file/to/save.js
- 預設起始位置為呼叫 node 指令時的資料夾
- .load:將上面存起來的檔案, 載入到當前的 session.
- Ex. .load ./file/to/load.js
- Ctrl:
Ctrl + C:如同 .break Ctrl + D:如同 .exit - Tab鍵:自動填滿變數名稱, 若有多個可能, 則會顯示所有選項.
訂閱:
文章 (Atom)