🚫 Ad Blocker Detected

Please disable your AD blocker to continue using this site. Ads help us keep the content free! please press keyboard F5 to refresh page after disabled AD blocker

請關閉廣告攔截器以繼續使用本網站。廣告有助於我們保證內容免費。謝謝! 關閉後請按 F5 刷新頁面

0%

前言:

Asp.net 是一個pipeline的模型

我覺得.Net Web工程師對於這個模型和IHttpHanlder,IHttpModule 要有基本的概念和理解.

理解這些管道除了可以讓我們節省許多不必要的資源浪費也可讓我們程式架構更加有條理.

就像我們在Asp.net MVC如果要寫權限驗證程式碼,雖然可以寫在ControllerAction

但更好做法是我可以寫一個類別繼承AuthorizeAttributeoverride OnAuthorization方法並掛上此標籤.

所以更了解這些原理可以讓我們寫程式事半功倍.

Asp.net Application Event 生命週期

前面我們知道Asp.net是一個請求處理響應的管道而這個管道中微軟有提供許多點可以讓我們進行客製化的擴充程式撰寫

事件可藉由IHttpModule來擴充註冊

Read more »

前言:

AutoMapper 幫我我們方便管理物件跟物件之間屬性值格式轉換

模型轉換

這裡有兩個類別

UserInfoModel 當作我們從DB撈取出來 模型資料

1
2
3
4
5
6
public class UserInfoModel
{
public int RowId { get; set; }
public string Name { get; set; }
public int Age { get; set; }
}

UserInfoViewModel 是呈現在UI或其他地方的模型  

其中 Detail 欄位由 UserInfoModel  Name Age 屬性組成的

1
2
3
4
public class UserInfoViewModel
{
public string Detail { get; set; }
}

這時我們就會引用 AutoMapper 幫我們統一管理轉換模型上的問題

Read more »

前言:

前陣子在被面試官說:我有電子發票開源專案,是否有上到Nuget上

我回答:沒有.

我就突然想到我也可以把我的專案放到Nuget上讓更多人方便使用

我就查詢資料去了解整個上板流程,並打成文章跟大家分享


下載Nuget Commandline Tool

下載Nuget Commandline Tool

之後你會取得 nuget.exe 這個檔案

Read more »

前言:

SO 發現蠻多人有遇到 Gaps and Islands problem

count of last continuous inserted records based on date 

之前有跟大家分享過 解決連續範圍的思路  [SQL連續範圍] 數字,日期連續範圍

今天針對發問者實際例子來一步步 解決問題…

提問出處:count of last continuous inserted records based on date 


問題說明:

提問者希望可以獲得最近一次連續日期的次數

例如:

Read more »

前言:

狀態者模式

優勢在可將複雜的物件狀態條件,以物件方式來減少條件式的判斷程式

可由物件自身的狀態,決定之後的動作行為.

狀態者模式 說明:

需求簡易流程如下

這是一個簡單的訂單流程圖

我們可看到從建立訂單開始->最後判斷成功或取消訂單 看似簡單但需要寫一定程度的判斷條件式,而且也要做一定程度的逆向流程防呆.

這裡先貼上 未使用狀態者模式的程式碼: PaymentContext.cs

Read more »

前言:

AutoMapper 幫我我們方便管理物件跟物件之間屬性值格式轉換

模型轉換

這裡有兩個類別

UserInfoModel 當作我們從DB撈取出來 模型資料

1
2
3
4
5
6
public class UserInfoModel
{
public int RowId { get; set; }
public string Name { get; set; }
public int Age { get; set; }
}

UserInfoViewModel 是呈現在UI或其他地方的模型  

其中 Detail 欄位由 UserInfoModel  Name Age 屬性組成的

1
2
3
4
public class UserInfoViewModel
{
public string Detail { get; set; }
}

這時我們就會引用 AutoMapper 幫我們統一管理轉換模型上的問題

Read more »

前言:

前陣子在被面試官說:我有電子發票開源專案,是否有上到Nuget上

我回答:沒有.

我就突然想到我也可以把我的專案放到Nuget上讓更多人方便使用

我就查詢資料去了解整個上板流程,並打成文章跟大家分享


下載Nuget Commandline Tool

下載Nuget Commandline Tool

之後你會取得 nuget.exe 這個檔案

Read more »

前言:

大家都知道float和double會有誤差 

但原因是什麼呢? 

今天就跟大家分享Float和Double會誤差的原因

一. 浮點數介紹

一開始先對於float和double做身家調查

浮點類型的範圍

類型 最小值 最大值
float 1.175494351 E – 38 3.402823466 E + 38
double 2.2250738585072014 E – 308 1.7976931348623158 E + 308

浮點類型

類型 有效數字 位元組數
float 6 – 7 4
double 15 – 16 8
Read more »

前言:

SO 發現蠻多人有遇到 Gaps and Islands problem

count of last continuous inserted records based on date 

之前有跟大家分享過 解決連續範圍的思路  [SQL連續範圍] 數字,日期連續範圍

今天針對發問者實際例子來一步步 解決問題…

提問出處:count of last continuous inserted records based on date 


問題說明:

提問者希望可以獲得最近一次連續日期的次數

例如:

Read more »

前言:

狀態者模式

優勢在可將複雜的物件狀態條件,以物件方式來減少條件式的判斷程式

可由物件自身的狀態,決定之後的動作行為.

狀態者模式 說明:

需求簡易流程如下

這是一個簡單的訂單流程圖

我們可看到從建立訂單開始->最後判斷成功或取消訂單 看似簡單但需要寫一定程度的判斷條件式,而且也要做一定程度的逆向流程防呆.

這裡先貼上 未使用狀態者模式的程式碼: PaymentContext.cs

Read more »