Browse by Tags

ActionFilter Attribute 共用特性與狀態保存
同事報案,某個 Web API 會不定期出錯。進一步調查是近期啟動的一個新排程同步發出多個 API 呼叫,當 Web API 同時被多方呼叫,Web API 加掛用來寫 Log 的 ActionFilter Attribute 偶爾會發生 Dictionary.Add 重複加入相同鍵值的錯誤。因 Dictionary 被設成 ActionFilter Attribute Instance 的私有欄位,依我原先的理解,ActionFilter Attribute 每次呼叫時都應建立新 Instance...
Posted 16 February 2017 10:25 PMJeffrey | 4 comment(s) 3,211
Filed under:
CSHTML 匿名型別資料繫結技巧一則
情境如下, 在 ASP.NET MVC 用一小段程式顯示部門下拉清單,資料來自資料庫,因欄位較多且命名不直覺,我將由資料庫取得的集合轉成匿名型別 Select(o => new { DeptId = o.DI, DeptName = o.DN },再以 Razor 語法 @foreach (var dept in ViewBag.Depts) { <option value="@dept.DeptId">@dept.DeptName</option>...
Posted 10 January 2017 09:52 PMJeffrey | 2 comment(s) 4,998
Filed under:
ASP.NET MVC ScriptBundle Cache 原理剖析
工作上遇到幾起 ASP.NET MVC ScriptBundle 機制 在更新 JS 檔後卻讀到舊版內容的問題,沒搞清楚原理查起問題有些茫然,做功課的時間又到了。 依據 官方文件 (見 Bundle Caching 一節),@Scripts.Render("~/bundles/blah") 會被轉成 <script src="/bundles/blah?v=FVs3…ulE1" type="text/javascript"><...
Posted 23 November 2016 09:55 PMJeffrey | with no comments 2,712
Filed under:
閒聊:不想走在「最前端」, WebForm 開發者也該學的技能
就用這篇鬼故事當開場吧! 在 2016 年学 JavaScript 是一种什么样的体验? 這幾年 HTML5 火紅,前端開發技術發展如黃河氾濫一發不可收拾,開發框架百家齊嗚,眼花瞭亂不知如何下手就算了,更要命的是市場主流每兩年就轉一次風向,兩年前我才含淚從 Knockout 轉到 Angular ,現在卻眼看 React.js 及 Vue.js 可能把 Angular 的接班人 Angular 2 幹掉 Orz。不只開發框架主流變來變去,連開發工具也整套換光光。還記得兩年前的這篇 Gulp, Grunt...
【茶包射手日記】ASP.NET MVC 403.14 錯誤烏龍
手動部署 ASP.NET MVC 專案到測試台,仗著自己對 MVC 的了解,沒用 Visual Studio Publish 功能也不是整個專案全搬,而是靠肉眼人腦決定搬哪些檔案。COPY 好檔案設好 IIS,預期該連上 /Home/Index 首頁卻冒出 HTTP 403.14。 這問題以前 遇過 ,起因 Windows 2008 SP2 (非 Windows 2008 R2)的 IIS 7 不支援無副檔名路由,需使用 <modules runAllManagedModulesForAllRequests...
Posted 28 October 2016 10:08 PMJeffrey | with no comments 2,731
Filed under:
筆記:使用Facebook帳號登入ASP.NET MVC網站
前篇文章 介紹過ASP.NET MVC 5內建Google、FB、Twitter、Microsoft Account外部帳號登入支援,只需設定API Key及API Secret即可啟用,十分方便。上回整完Google帳號,繼續處理Facebook登入。 一回生二回熟,第一步當然是到 Facebook開發者網站 申請API Key。在網頁按下「新増應用程式」: 類型選「網站」: 為應用程式取個名字: 填寫「顯示名稱」、「聯絡電子郵件」及「類別」: 下一步要填寫網站URL: 基本上這樣就算設定好了...
Posted 28 August 2016 10:48 PMJeffrey | 2 comment(s) 4,870
Filed under: ,
筆記:使用Google帳號登入ASP.NET MVC網站
新版ASP.NET改採 OWIN架構 ,Middleware概念讓Request/Response處理流程變得模組化,允許抽換自由組裝,身分驗證也變得極富彈性,IIS時代ASP.NET只有匿名、Basic、Windows幾種選擇,改用OWIN後,整合Google、Facebook、Twitter、Microsoft Account… 等OAuth登入服務不再是難事,還有現成元件可用,輕輕鬆鬆實現Google、FB登入。(關於OAuth,小朱有 系列文章 介紹,包含原理與OAuth Client實作細節...
Posted 28 August 2016 12:34 AMJeffrey | 2 comment(s) 5,911
Filed under: ,
ASP.NET MVC整合RichText編輯器範例與注意事項
最近的ASP.NET MVC專案用到了RichText編輯器,允許使用者編輯包含不同字型、大小、粗細、顏色的格式化文字,其中有些需注意細節,整理筆記備忘。 網頁版RichText編譯器的選擇 不少 ,本文以 KendoEditor 為例,結果則以PostBack方式回傳。即使換用其他編輯器或改以AJAX回傳,ASP.NET MVC整合重點大同小異。 範例的MVC網站共有Index及Result兩個View,Index為編輯器頁面,Result則用來顯示結果。Controller除了Index及Result兩個Action...
【茶包射手日記】只在CSHTML發生的編譯錯誤
在ASP.NET MVC專案新一個View,編輯CSHTML時Visual Studio爽快地賞了我一個錯誤:某個關鍵型別同時出現在兩顆組件(DLL)中! 看了兩顆組件名稱,Afa.WebApi是MVC網站的編譯結果,Afa.WebApi.Client則是先前嘗試不同做法時曾短暫加入,現已不再參照,二者不該並存。詭異點在於這個關鍵型別被Controller及Model廣泛使用,若重複出現在不同組件,MVC專案也該出錯,為何在加入CSHTML前編譯、執行完全正常? 檢查MVC的bin目錄,果然發現Afa...
Posted 05 March 2016 08:05 AMJeffrey | with no comments 2,348
Filed under:
【茶包射手日記】由TFS取得專案發生System.Web.Mvc.dll參照無效
接到任務,要在前人的專案新増一個小功能。由TFS下載原始碼準備編譯時,出現奇怪現象。 System.Web.Mvc參照失敗: 但System.Web.Razor及其他System.Web.*系列是好的: 同一專案在同事機器開啟一切正常。由於是參照問題,加上專案有點歷史,一度以為專案是因為最早使用Visual Studio 2012開發,System.Web.Mvc參照來自VS2012或另外安裝的ASP.NET MVC套件,而我的電腦沒裝過VS2012才出狀況。直到想起該檢查csproj,真相大白...
在Windows驗證網站設定部分匿名存取
最近接連遇到幾次的需求:供內部使用的ASP.NET網站,全站使用Windows驗證,使用者以網域AD帳號登入,但網站包含少數API性質的ASHX、ASPX或MVC Action,提供其他系統呼叫整合。 此時問題來了,既為API性質,要求呼叫端程式用網域帳號登入徒增部署與管理的不便(需申請程式專用AD帳號、程式要綁特定式執行身分、每次改密碼時要記得修改)。對API而言,較理想的做法是開放Web API網頁匿名存取,改限制呼叫來源IP或採API Key等驗證機制進行安全管控。在不拆分Web Application前題下要達成這個目標有個基本要求...
以JSON傳送大量物件引發ASP.NET MVC反序列化錯誤
某專案使用 [FromPartialBody] 在ASP.NET MVC Action接收jQuery送來的物件陣列,初測無誤後進行正式測試,發現只要物件陣列的筆數一多,網頁就會爆炸: System.InvalidOperationException: The JSON request was too large to be deserialized.    於 System.Web.Mvc.JsonValueProviderFactory.EntryLimitedDictionary...
Posted 29 October 2015 10:16 PMJeffrey | 2 comment(s) 5,027
Filed under: ,
【茶包射手日記】CSHTML ViewBag無法使用擴充方法
在ASP.NET MVC裡定義了一個 擴充方法 (Extension Method),打算在CSHTML中使用:(以下擴充方法為脫褲子放屁,純屬示範,為String新増一個GetLength()方法傳回字串長度) namespace BBDPWeb.Models { public static class ExtMethodDemo { public static int GetLength( this string s) { return s.Length; } } } 在Action中,使用Title存入標題字串放入ViewBag...
Posted 01 October 2015 08:02 AMJeffrey | with no comments 3,073
Filed under: ,
StreamReader讀取InputStream注意事項
用了這麼多年,這幾天才發現SteamReader的一項行為。故事從jQuery.post內容給MVC接收說起… 我有一段MVC Action程式,會從Request.InputStream接收來自jQuery.ajax送來的內容,為求簡化起見,就拿 舊文範例 來示範: @{ ViewBag.Title = "Home Page"; } < br /> < button id ="btnPost" > Post Content to Action...
Posted 03 July 2015 11:24 PMJeffrey | with no comments 4,676
Filed under: ,
再談jQuery傳送物件JSON給ASP.NET MVC
使用jQuery傳送物件JSON到ASP.NET MVC 的做法之前介紹過,但最近我在專案又遇到新難題。 例如有一個參數物件,ArgObject,內含Name屬性及SubArg屬性,SubArg有其專屬型別SubArgObject,基於特殊需要,SubArgObject使用[JsonProperty]及[JsonIgnore]自訂JSON轉換邏輯(實際專案用的是 [JsonConverter(...)] ,此處簡化為[JsonProperty],指定PropB在JSON中需更名為PropX): public...
Posted 11 May 2015 09:43 PMJeffrey | 2 comment(s) 8,526
Filed under: ,
更多文章 下一頁 »

搜尋

Go

<March 2017>
SunMonTueWedThuFriSat
2627281234
567891011
12131415161718
19202122232425
2627282930311
2345678
 
RSS
創用 CC 授權條款
【廣告】
twMVC
最新回應

Tags 分類檢視
關於作者

一個醉心技術又酷愛分享的Coding魔人,十年的IT職場生涯,寫過系統、管過專案, 也帶過團隊,最後還是無怨無悔地選擇了技術鑽研這條路,近年來則以做一個"有為的中年人"自許。

文章典藏
其他功能

這個部落格


Syndication