Browse by Tags

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 3,615
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 2,772
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 4,362
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 5,076
Filed under: ,
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...
Posted 03 July 2017 07:47 AMJeffrey | with no comments 2,492
Filed under: , ,
Session 有毒,所以呢?
上週我才 意外發現 :古老的 Session 不只會害 ASP.NET WebForm 大排長龍 ,就連 ASP.NET MVC Controller 也 難逃魔掌 ,對 AJAX 網站效能的殺傷力直逼 BOSS 等級! Session 是 ASP 時代就存在的活化石,允許每個工作階段有自己專屬的資料存放空間,不必費心規劃參數傳遞方式,在任一 ASPX 塞入資料,中間不管使用者歷經多少網頁做過多少事,只要有需要,在任何網頁呼叫 Session["…"],資料就回來了。由於它無腦直覺又好寫...
Posted 12 June 2017 11:05 PMJeffrey | 14 comment(s) 16,051
Filed under:
客製靜態檔案 HTTP 404 訊息
同事報案,某組 Windows 2012R2 Web Farm 均已設定 web.config <customErrors mode="On" /> HTTP 404 網頁理應如下: 但 Web Farm 其中一台卻會顯示詳細錯誤,導致實體路徑資訊外洩: 最後同事找出原因,IIS Error Pages 設定有個 Edit Feature Settings,問題主機被設成「Detail Errors」: 心中對這組設定與 customErrors 的關係滿心狐疑,爬文後才驚覺自己...
Posted 13 March 2017 11:16 PMJeffrey | 2 comment(s) 4,886
Filed under: ,
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...
Oracle故障後續處理經驗一則
不經一事不長一智,以下經驗價值1.5小時。 接獲回報,部分 ASP.NET 網頁出現資料庫錯誤,錯誤指向某 Oracle 資料庫,使用 Telnet oracel_server_ip 1521 測試無反應,通報系統人員,查出為資料庫主機網路異常,並在隨後修復。 真正的茶包在 Oracle 資料庫主機恢復後才現身,部分使用者通報他們還是無法使用網頁,但我測試是成功的,而有問題的使用者「多試幾次」也會成功。網站為 Web Farm 架構,參雜使用者連上主機可能不同的因素,歷經一番追查彙整,才理頭緒:...
Posted 05 October 2016 12:18 AMJeffrey | with no comments 4,046
Filed under: ,
神祕的ASP.NET bin\roslyn目錄
同事由TFS取回ASP.NET MVC專案,編譯後執行出現以下錯誤: [DirectoryNotFoundException: 找不到路徑 'D:\TFS\src\web\MyForm\bin\roslyn\csc.exe' 的一部分。] System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) +353 System.IO.FileStream.Init(String path, FileMode mode...
Posted 26 August 2016 07:45 AMJeffrey | with no comments 9,634
Filed under: ,
分散式交易問題排除經驗再一則與MSDTC快速ASPX測試法
以為自己MSDTC的處理經驗已 夠豐富 ,不料今天又有新的心得,筆記之。 某台新裝測試主機,多支涉及分散式交易程式冒出「The transaction manager has disabled its support for remote/network transactions.」錯誤,老問題一枚,推測是忘了 啟用Network DTC Access 。檢查果真漏了啟動選項,啟動後,其中一個ASP.NET網站的分散式交易就正常,但另一個ASP.NET網站下的ASP(對,是ASP不是ASPX,滄海桑田屹立十餘年的阿公級ASP...
Posted 15 August 2016 11:23 PMJeffrey | 3 comment(s) 3,511
Filed under: ,
【茶包射手日記】ASP.NET網站bindingRedirect無效
故事從某個Windows 2003上的ASP.NET 3.5網站搬到Windows 2012 R2說起,移至新主機後蹦出以下訊息: Could not load file or assembly 'System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find...
Posted 04 August 2016 06:16 AMJeffrey | with no comments 3,908
Filed under:
關於IE快取更新檢查設定
接獲報案,某使用者今天送出的ASP.NET表單,有某個應為隨機Guid<input type="hidden">欄位,內容竟與幾週前送出的資料重複,因而導致錯誤。 推測最大可能是使用到被IE快取的舊內容導致,查看使用者的IE設定,登楞! 竟被設定「永不」檢查是否有較新版本。經實測,一旦調成此設定,就算重開IE,連上ASP.NET網頁裡的Hidden欄位是上次的舊內容,要等到按F5或重新網頁才會更新。 由此推測問題出在使用者設定了「只要有Cache,永不檢查新版本」...
Posted 27 July 2016 12:46 AMJeffrey | 4 comment(s) 7,297
Filed under: ,
更多文章 下一頁 »

搜尋

Go

<February 2018>
SunMonTueWedThuFriSat
28293031123
45678910
11121314151617
18192021222324
25262728123
45678910
 
RSS
創用 CC 授權條款
【廣告】
twMVC
最新回應

Tags 分類檢視
關於作者

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

文章典藏
其他功能

這個部落格


Syndication