Forms AuthenticationTicket SlidingExpiration 過期問題

最近同仁分享一個 Form Authentication Ticket 過期的問題(為什麼我的 APS.Net Form Authentication 在 timeout 時間還沒到前就失效了)。

如果 timeout 時間設定為 20 分鐘,而 Ticket 是 1:00:00 產生的,到期時間是 1:20:00。

如果設定 SlidingExpiration , 到期的時間會在每次回 Server 就更新嗎?

Timeout 時間跟你想的不一樣嗎?

...繼續閱讀 »

preflight request (OPTIONS) WebAPI 時,會回 405 Method Not Allowed ?

最近同事詢問他將程式中 enable cors 的程式碼(WebApiConfig.cs's Register method)  mark 掉,

config.EnableCors(new EnableCorsAttribute("*", "*", "*"));

然後在 web.config 的 customHeaders 加入允許 cors 的設定

但是 client js 在做 preflight request 時,卻會回 405 Method Not Allowed 

...繼續閱讀 »

新、舊系統在一起的交易之路 ~ 取得 Spring.NET 的 Connection 及 Transaction

我們有舊的元件(Workflow),連接DB是透過自行封裝 Ado.NET 的元件,
而到新開發的系統,則是使用 Spring.NET + NHibernate 。
當新、舊交雜在一起使用時,交易該如何控管呢?
最簡單的就是用 TransactionScope 去包起來,
但這時候 MSDTC 就跑起來了。
但是很多單位現在都不給開 MSDTC 了,
那要怎麼辦呢? 取得 DB Connection 及 Transaction 往內傳嗎?
要如何取得 Spring.NET 中的 System.Data.Common.DbTransaction 物件呢? 

...繼續閱讀 »

Concurrent Requests for Writeable Session Variables

在之前有討論到不同網頁使用到 Writeable Session 時會卡來卡去的狀況 Lock or Blocking(使用Session要小心網頁會被 卡住 哦!),

或是 Web Service 如果開啟 Session 存取的話,預設是 Writeable Session 模式(設定 WebService 使用 ReadOnly Session)。

解法除了設定 SessionStateBehavior.ReadOnly 外,

When a Single ASP.NET Client makes Concurrent Requests for Writeable Session Variables 這篇還提供2個方式,

1.降低 Session Lock Check 的時間

2.實作 Lockless SessionStateStoreProvider

維護舊系統的朋友,如果改了 ReadOnly 又怕會影響到什麼功能,可以參考看看哦!

...繼續閱讀 »