快轉到主要內容
  1. Categories/

程式開發

2015


docker-machine for AmazonEC2

·3 分鐘

前兩天在公司上了 Introduction Docker 的課程,回家就來試驗新的 docker-machine
花了一點時間,研究了怎樣連接到 AWS 去~

Entity Framework FakeDbSet

·1 分鐘

為了單元測試,需要作假資料,如果用資料庫來做,就需要考慮測試資料的建立以及 Transaction 的問題,因為建立測試資料後還得刪除。

所以可以使用 Mock 的方式,把 IDbSet 改成使用 InMemory

目前 Nuget.org 就有一個套件,可以幫忙你實作 InMemorySet 我目前是安裝 AnotherFakeDbSet,Source 在 Github-AnotherFakeDbSet

這個 Source 的原始版本是 FakeDbSet 不過我也覺得 AnotherFakeDbSet 改的不錯,而且因為陸續有推出新版本,所以我自己也是採用這個 Nuget Package

log4net Action Log 設定

·4 分鐘

我之前設定網站執行的 Action Log 的一個記錄,有些東西都是拼拼湊湊出來的,並不見得是最佳版本

log4net 設定檔

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?xml version="1.0" encoding="utf-8" ?>
<log4net>
    <root>
        <level value="DEBUG" />
        <appender-ref ref="stdout" />
        <appender-ref ref="ActionLogRollingFile" />
    </root>
    <appender name="ActionLogRollingFile" type="log4net.Appender.RollingFileAppender">
        <file type="log4net.Util.PatternString" value="action.log" />
        <appendToFile value="true" />
        <encoding value="utf-8" />
        <maxSizeRollBackups value="30" />
        <rollingStyle value="Date" />
        <datePattern value="'.'yyyy-MM-dd" />
        <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="(%date{HH:mm:ss,fff}) [%t] - %u %5property{Duration} %property{StatusCode} %6property{Method} %property{Uri} %m%n " />
        </layout>
        <filter type="log4net.Filter.LoggerMatchFilter">
            <acceptOnMatch value="true" />
            <LoggerToMatch value="Sample.Web.Filters.WebApiActionFilter" />
        </filter>

        <filter type="log4net.Filter.DenyAllFilter" />
    </appender>
</log4net>

其中要注意的是

  • log4net.Filter.LoggerMatchFilter: 用來設定特定的 class 記錄才使用這個 Appender
    • acceptOnMatch: 這個設定有點像是 blacklist/whitelist,true 表示有 match 才是,相當於 whitelist
    • LoggerToMatch: 設定要篩選的類別名稱
  • log4net.Filter.DenyAllFilter: 篩選掉其他的 Log,不會在這個 Appender 裡面記錄

JWT

·2 分鐘

OAuth2 現在已經很多的網站都有實作了,像是 Twitter, Google, Facebook, Github 等網站本身都有支援 OAuth2 的驗證與授權機制

最近因為專案需求,特地去研究了一下有關 Web API 做驗證授權的機制,看到網路上有很多的範例,在講解 AngularJS SPA 的登入作法,想說可以把類似的機制放到 RESTful Service 的驗證上面