Browse by Tags

ASP.NET Core View 中文變 & # x4E2D; & # x6587;
發現 ASP.NET Core 有個特性造成困擾。 我們都知道在 cshtml 以 @textFromServerSide 嵌入字串時,預設會被 HtmlEncode 以防止 Cross-Site Scripting 攻擊,如要將字串視為 HTML 標籤處理需額外呼叫 Html.Raw()。但在 ASP.NET Core 裡,結果跟我原本想像不同,例如以下 cshtml,表面上看來正常,中文正常顯示: @{ Layout = null; } <html> <body> <div>...
Posted 10 September 2018 10:34 PMJeffrey | with no comments 1,934
Filed under: ,
【茶包射手日記】web.config 設定鬼故事
同事報案,某網站委託 OP 上線出現異常,連至本機查看詳細錯誤訊息,ASP.NET 回報看不懂 </location> 元素。 上圖的 <location path="Area51">...</location> 是本次新增設定,是應用先前介紹過的 Windows 驗證網站設定部分匿名存取 技巧,用 <location> 針對部分路徑做不同設定的做法過去用得很多,不該有錯,更何況同一 web.config 的前一段就活生生是另一個...
ASP.NET Core 值得學嗎?
連發了幾篇 ASP.NET Core 文章,果不其然接到各方詢問: 「 喵的 媽呀,微軟又推新東西了?」 「WebForm 玩完了嗎?」 「我 ASP.NET MVC 還沒開始玩耶,是不是不用學了?」 先簡單答覆以上疑問: 是的, ASP.NET Core 是下一代的 ASP.NET,能跨平台執行,預期是未來的主流。它是兩年前推出的新東西沒錯,但做資訊這行一天到晚學新東西剛好而已好嗎?你要是體驗過前端框架「 放煙火式的生命週期 」,這根本不算什麼。 至於 WebForm,再戰十年或二十年應該不是問題...
IIS HTTP 重新導向功能筆記
將 IIS 網站的特定網址導向其他網址,有幾種做法: UrlRewrite 模組 彈性高,支援複雜的轉換規則(可使用 Regular Expression 定義規則),能在使用者未察覺的情況下完成轉換,例如將 /product/book/computer 轉為 /product.aspx?zone=book&catg=computer,提供較友善的網址並增進 SEO。 但若轉址是因為網站或網頁搬家,需明白告知並建議使用者改用新網址,UrlRewrite 較不適用。 JavaScript 或...
Posted 10 May 2018 07:06 AMJeffrey | with no comments 5,392
Filed under: ,
ASP.NET 網站部署後發生 ryslon 編譯錯誤-2146232576
同事遇到的案例。 VS2017 新增 ASP.NET 網站專案,專案範本預設參照的 Microsoft.Net.Compilers 版本是 1.3.2。(延伸閱讀: 神祕的ASP.NET bin-roslyn目錄 ) 同事為了使用 C# 7.0 功能,升級 Microsoft.Net.Compilers NuGet 套件到 2.7.0 版,該專案先前已部署測試過,心想 ASP.NET Runtime 版本維持 4.5.2 沒變,應該不會有問題。 殊不知,在開發機的 IIS Express 及 IIS...
Posted 30 April 2018 09:58 PMJeffrey | with no comments 2,237
Filed under:
WCF 比 ASP.NET Core WebAPI 更快?
同事轉了一篇探討 WCF 與 ASP.NET Core WebAPI 效能的比較文章: Is WCF faster than ASP.NET Core- Of course not! Or is it? 結論出乎意料。 作者看到一則 Reddit 上關於 WCF/ASP.NET WebAPI 效能討論 ( Reddit 可想成國外的 PTT) 就認真了,跑了蠻專業的測試,試了多種組合,WCF 幾乎都輕鬆將 ASP.NET Core WebAPI 甩在身後。進一步分析,JSON Serializer...
Posted 18 April 2018 11:54 PMJeffrey | with no comments 6,355
Filed under: , ,
【茶包射手日記】ASP.NET 2.0 Web Site 升 3.5 怪異問題一則
分享在同事專案發現的有趣茶包。 同事接手超古老的 ASP.NET 2.0 WebSite 專案,第一步先升級成 3.5,從青銅器時代推演到鐵器時代。依過去經驗,3.5 也基於 2.0,除了要將 AJAX 擴充功能轉成內建,幾乎是無痛升級。(事實上,2.0 就算升 4.0/4.5 也很少遇到麻煩) 但這回遇上怪事。未升 3.5 前 Build Web Site 成功,升級後出現缺少 ASP.NET AJAX Toolkit 版本問題, 排除過程冒出一個編譯錯誤,某個共用類別存取了外部程式庫元件的 internal...
HttpUtility.ParseQueryString 還原字串中文編碼問題
在 .NET 裡要解析 URL 參數字串(QueryString,例如: a=1234&b=ABCD),自己拆字串就遜掉了,呼叫 HttpUtility.ParseQueryString() 才是王道,這是我 很多年前 就學到的知識。 最近再有個新發現,ParseQueryString() 所傳回的結果表面上是個 NameValueCollection,但骨子裡則是內部型別 – HttpValueCollection,它有個特異功能,ToString() 被覆寫成可將 Name/Value...
Posted 20 March 2018 11:17 PMJeffrey | with no comments 3,541
Filed under:
當心 Request.Url.ToString() 傳回無效 URL
抓到一個誤用 Request.Url.ToString() 造成的 Bug。 由使用者回報錯誤,追出某段程式擷取 Request.Url.ToString() 加工產生的連結有誤。 原本 URL 參數包含另一頁網址,依規定做了 UrlEncode,如: b=http%3A//blog2.darkthread.net%3Fm%3D1%26a%3D456 。ASP.NET 程式抓取 Request.Url.ToString() 修改後串接額外參數"&a=ABC",得到的結果卻是...
Posted 07 March 2018 10:54 PMJeffrey | with no comments 4,220
Filed under:
Request.Url.Host 偽造實驗
我有個 IIS 網站同時繫結多個 IP,想做到依據連上的伺服器 IP 授與不同權限,例如: 有些功能開放外網 IP 連入使用,某些功能限定內網及 localhost IP 才能用。設立兩個站台繫結不同 IP 及 Port 但共用同一份 ASP.NET 程式碼是一種解法,但我貪圖共用 Process 及靜態物件的便利性,因此要研究正確識別 Request 伺服器來源 IP 的方法。 舉最簡單的例子,IIS 預設繫結到所有 IP 位址("*"),而若伺服器 IP 為 172.28...
Posted 11 January 2018 09:42 PMJeffrey | with no comments 4,760
ASP.NET 眼中的 ".\Blah.sqlite" 在哪裡?
同事報案,在ASP.NET 存取 SQLite 資料庫 ,路徑誤用 ".\Blah.sqlite" (一般多使用 Server.MapPath("~\App_Data\Blah.sqlite"),參考: App_Data的隱身特性 ),程式可以運作,以為 Blah.sqlite 檔案會出現在 bin 目錄但沒有,使用 Everything 搜尋也找不到蹤跡。 這裡有個迷思,依直覺 ASP.NET 伺服器端程式編譯成的 DLL 以及參照的程式庫 DLL 都是放在...
Posted 22 December 2017 09:57 PMJeffrey | with no comments 3,309
Filed under:
Coding4Fun–自動產生副檔名轉 ContentType 對照表
昨天的文章 提到 .NET 4.5 內建 MimeMapping.GetMimeMapping(),可省去自己用 switch … case 逐一列舉副檔名對應ContentType 的工夫。 不過,這項福利僅限於 .NET 4.5+,如果程式使用的是 .NET 3.5 或 .NET 4.0,只能乖乖自己處理。理論上,新開發的程式用 .NET 4.5.2+ 名正言順(參考:  蛤,微軟停止.NET 4.0-4.5-4.5.1的技術支援?會對我的系統造成影響嗎? ) BUT! 生活周遭總還是有...
C# 小技巧 - 不必再靠 switch case 副檔名決定 ContentType 囉
由 ASP.NET 伺服器端傳回檔案內容,需指定適當的 ContentType,瀏覽器才會將其視為圖檔、HTML、CSS 或 JavaScript 處理。過去我都是土法煉鋼,取得副檔名再用 switch … case 針對已知檔案種類列舉對應 ContentType,像這樣: string contentType = "" ; switch (fileName.Split( '.' ).Last()) { case "jpg" : contentType...
小筆記-避免 ThreadAbortException 的Response.End() 替代寫法
一個古老問題, 在 ASP.NET 呼叫 Response.End() 會觸發 ThreadAbortException ,假警報常會干擾偵錯與問題追查,之前寫過文章但沒整理完整的替代方案,今天補上筆記。 使用以下程式重現問題,WebForm 網頁包含一枚按鈕,按下時透過 AJAX 呼叫同一程式,Page_Load() 事件遇 Request["m"] == "ajax" 時 Response.Write() 傳回 Guid 並以 Response.End...
Posted 12 September 2017 10:39 PMJeffrey | with no comments 5,912
Filed under:
【茶包射手筆記】IIS 設定順序導致 500.19 錯誤
HTTP 500.19 錯誤多因 ASP.NET 父網站與子網站因繼承關係導致設定項目重複,過去曾經歷幾次( IIS 7限制IP存取的設定錯誤 、 怪異的web.config HttpHandler重複錯誤 ),今天再遇到 IP 限制設定重複導致子網站掛點的狀況,同事發誓一切操作合情合理,想想上回 IIS 7 IP 限制設定打架案例沒有逆天亂搞照樣出錯,推測其中有雷,決定現場模擬還原真相。 我在 IIS 設定一獨立站台 Test,其下加入 Child 子網站。父網站的 index.html 以 IFrame...
Posted 07 July 2017 12:14 AMJeffrey | with no comments 8,274
Filed under: ,
更多文章 下一頁 »

搜尋

Go

<December 2018>
SunMonTueWedThuFriSat
2526272829301
2345678
9101112131415
16171819202122
23242526272829
303112345
 
RSS
創用 CC 授權條款
【廣告】
twMVC
最新回應

Tags 分類檢視
關於作者

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

文章典藏
其他功能

這個部落格


Syndication