原创 聊下認證協議

前言 如果大家有接觸過ADFS或者認證協議,肯定會對五花八門的名詞看的眼花繚亂,比如WS-FED、SAML、SAML Token、OAuth、OpenID Connect、Kerbros以及NTLM等, 但實際上我們可以高屋建瓴的學習它們。

原创 計算機網絡-網絡文件共享協議

前言 在計算機網絡中,我們經常會遇到在不同計算機網絡系統之間如何共享和訪問文件的場景,並且在實際項目中有這樣的需求,在Linux中需要動態的mount文件,需要選擇合適的網絡文件共享協議以滿足併發,吞吐量等需求。這就涉及今天要講的網絡文件共

原创 計算機網絡-Keep Alive

問題背景 介紹兩個經典的網絡問題, 問題1: 訪問位於Azure Application Gateway之後的nodejs server, 偶爾會觸發502 問題2: 請求一個Azure App Service, 如果在230s之內請求沒有

原创 計算機網絡-DNS以及FastGitHub

前言 你是否觀察到過這種現象,在訪問Github時,有的時候能正常訪問,有的時候再次刷新就訪問不了,那麼能不能有什麼辦法能一直訪問。答案是有,就是在DNS層面能保證一直穩定獲取可用並且快速的IP,這就是FastGithub的原理,筆者結合G

原创 那些.NET中的連接池

前言 在.NET中,連接池被廣泛用於管理和優化不同類型資源的連接。連接池可以減少建立和關閉連接所需的時間和資源消耗,從而提高了應用程序的性能和響應能力。 HttpClient中的連接池 System.Net.Http.HttpClient

原创 你所不知道的端口耗盡(三)

問題背景 在你所不知道的端口耗盡前面的兩篇章節中,介紹了經典的客戶端端口耗盡和SNAT端口耗盡問題,但是對於解決方案只是一筆帶過,這篇文章會更詳細的介紹解決方案。解決方案主要分爲兩大類,優化部署和優化應用程序。 優化部署 本篇主要介紹在Az

原创 你所不知道的端口耗盡(二)

問題背景 在你所不知道的端口耗盡(一)中,介紹了經典的客戶端端口耗盡問題,在本篇文章中會介紹另外一種端口耗盡問題,即SNAT端口耗盡 什麼是SNAT SNAT是源網絡地址轉換(Source Network Address Translati

原创 你所不知道的端口耗盡(一)

問題背景 有同事聯繫我說,在生產環境上,訪問不了我負責的common服務,然後我去檢查common服務的health endpoint, 沒問題,然後我問了下異常,timeout導致的System.OperationCanceledExce

原创 Forms身份認證

引言 大家都知道Http是無狀態的協議,所以訪問一個url,你並不能知道用戶在之前是否已經登陸過。但是許多業務上的邏輯又離不開user的信息,這個時候就可以藉助身份認證來記錄當前user的登錄狀態。這其中Forms身份認證是最常見的身份認

原创 c# 關鍵字

Sealed(不可繼承),internal(只能在本工程中使用),external(定義在外部),params(參數可以爲多個),ref,out,struct(結構體,裏面可以有函數的定義),new(派生類中默認使用),override,v

原创 DataGrid實現內容自動換行

這裏有兩種實現方式: 一 用ElementStyle <data:DataGrid GridLinesVisibility="None" AutoGenerateColumns="False" Loaded="DataGrid_Lo

原创 MVC Model Binder

這篇博客是藉助一個自己寫的工程來理解model binder的過程. MVC通過路由系統,根據url找到對應的Action,然後再執行action,在執行action的時候,根據action的參數和數據來源比對,生成各個參數的值,這就是

原创 TextWrap和空格

今天開發中遇到個小問題,場景如下: <Grid> <TextBlock Width="300" TextWrapping="Wrap" x:Name="txt"/></Grid> 後臺代碼: private void Set