in

Darkthread

黑暗執行緒
All Tags » ASP.NET (RSS)

Browse by Tags

  • Request.Url.Host 偽造實驗

    我有個 IIS 網站同時繫結多個 IP,想做到依據連上的伺服器 IP 授與不同權限,例如: 有些功能開放外網 IP 連入使用,某些功能限定內網及 localhost IP 才能用。設立兩個站台繫結不同 IP 及 Port 但共用同一份 ASP.NET 程式碼是一種解法,但我貪圖共用 Process 及靜態物件的便利性,因此要研究正確識別 Request 伺服器來源 IP 的方法。 舉最簡單的例子,IIS 預設繫結到所有 IP 位址("*"),而若伺服器 IP 為 172.28.1.1,則使用者用 httq://127.0.0.1、httq://localhost、httq:...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 01-11-2018
  • 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 都是放在 bin 目錄,感覺 ASP.NET 的根目錄(或者說工作目錄,".\")應該也在...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 12-22-2017
  • 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! 生活周遭總還是有 .NET 4.0/3.5/2.0 甚至 1.1 的線上系統,雖如風中蟾蜍,卻仍還需要擴充維護...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 12-09-2017
  • C# 小技巧 - 不必再靠 switch case 副檔名決定 ContentType 囉

    由 ASP.NET 伺服器端傳回檔案內容,需指定適當的 ContentType,瀏覽器才會將其視為圖檔、HTML、CSS 或 JavaScript 處理。過去我都是土法煉鋼,取得副檔名再用 switch … case 針對已知檔案種類列舉對應 ContentType,像這樣: string contentType = "" ; switch (fileName.Split( '.' ).Last()) { case "jpg" : contentType= "image/jpeg" ; break ; case "gif"...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 12-08-2017
  • 小筆記-避免 ThreadAbortException 的Response.End() 替代寫法

    一個古老問題, 在 ASP.NET 呼叫 Response.End() 會觸發 ThreadAbortException ,假警報常會干擾偵錯與問題追查,之前寫過文章但沒整理完整的替代方案,今天補上筆記。 使用以下程式重現問題,WebForm 網頁包含一枚按鈕,按下時透過 AJAX 呼叫同一程式,Page_Load() 事件遇 Request["m"] == "ajax" 時 Response.Write() 傳回 Guid 並以 Response.End() 中止程式,避免傳回 HTML 內容: <%@ Page Language="C#"...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 09-12-2017
  • 【茶包射手筆記】IIS 設定順序導致 500.19 錯誤

    HTTP 500.19 錯誤多因 ASP.NET 父網站與子網站因繼承關係導致設定項目重複,過去曾經歷幾次( IIS 7限制IP存取的設定錯誤 、 怪異的web.config HttpHandler重複錯誤 ),今天再遇到 IP 限制設定重複導致子網站掛點的狀況,同事發誓一切操作合情合理,想想上回 IIS 7 IP 限制設定打架案例沒有逆天亂搞照樣出錯,推測其中有雷,決定現場模擬還原真相。 我在 IIS 設定一獨立站台 Test,其下加入 Child 子網站。父網站的 index.html 以 IFrame 內嵌 Child/index.html 進行測試。 透過 IIS 管理介面設定 Test...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 07-06-2017
  • Visual Studio 開啟專案出現 SQL Server Express 未安裝警告

    在公司開啟某些工作專案時,我的 Visaul Studio 常會彈出像這樣的警告訊息: The Web project 'MyWeb' requires SQL Server Express LocalDB, whick is not installed on this computer. To upgrade the project database to use latest SQL Server Express LocalDB, double-click the database file and follow the instructions. Note: After this...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 07-02-2017
  • Session 有毒,所以呢?

    上週我才 意外發現 :古老的 Session 不只會害 ASP.NET WebForm 大排長龍 ,就連 ASP.NET MVC Controller 也 難逃魔掌 ,對 AJAX 網站效能的殺傷力直逼 BOSS 等級! Session 是 ASP 時代就存在的活化石,允許每個工作階段有自己專屬的資料存放空間,不必費心規劃參數傳遞方式,在任一 ASPX 塞入資料,中間不管使用者歷經多少網頁做過多少事,只要有需要,在任何網頁呼叫 Session["…"],資料就回來了。由於它無腦直覺又好寫,深受開發新手喜愛,成為許多 ASP/ASP.NET 開發人員鍾愛並廣泛使用的資料傳遞管道...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 06-12-2017
  • 客製靜態檔案 HTTP 404 訊息

    同事報案,某組 Windows 2012R2 Web Farm 均已設定 web.config <customErrors mode="On" /> HTTP 404 網頁理應如下: 但 Web Farm 其中一台卻會顯示詳細錯誤,導致實體路徑資訊外洩: 最後同事找出原因,IIS Error Pages 設定有個 Edit Feature Settings,問題主機被設成「Detail Errors」: 心中對這組設定與 customErrors 的關係滿心狐疑,爬文後才驚覺自己 寫過文章 :ASP.NET 相關程式錯誤由 <system.web><customErrors>...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 03-13-2017
  • ASP.NET CPU 飆高問題之傻瓜分析工具-DebugDiag Tools

    昨天 使用 WinDbg 追查 ASP.NET CPU 100% 原因 的文章得到不少朋友的回饋,其中 Robert Hu 留言提到一個更方便的 Dump 擷取與問題分析工具,試用之下果然犀利,在此補上介紹。 Debug Diagnostic Tool (DebugDiag) 是微軟針對程式當掉(Crash)、當住(Hang),以及記憶體洩漏(Memory Leak)等問題設計的快速偵察工具,目前最新版為 Debug Diagnostic Tool v2 Update 2 ,共有三項兵器: DebugDiag 2 Collection 自動化蒐集 Dump 檔的工具,可針對不同情境指定抓取 Dump...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 02-21-2017
第1頁,共30頁 (296個項目) 1 2 3 4 5 下一頁 > ... 最後一頁 »
Powered by Community Server (Non-Commercial Edition), by Telligent Systems