最新文章
|
知識管理交流
→『 技術(shù)文檔交流 』
本版文數(shù):7877 今日文數(shù):2819
|
什么是打洞在NAT1網(wǎng)絡(luò)下,我們可以通過一種“打洞”的方式,將本地的TCP端口暴露至公網(wǎng)上,運行HTTP服務(wù)等。通過Natter打洞+防火墻的轉(zhuǎn)發(fā)規(guī)則。我們可以方便地將內(nèi)網(wǎng)設(shè)備暴露在公網(wǎng)。實驗環(huán)境路由器(軟路由)Centos7(內(nèi)網(wǎng)主機)檢驗網(wǎng)絡(luò)首次使用,檢查當(dāng)前網(wǎng)絡(luò)NAT情況。我們首先克隆項目到本地環(huán)境。gitclo...
|
在當(dāng)今這個數(shù)字化高速發(fā)展的時代,應(yīng)用程序的性能監(jiān)控和調(diào)試顯得尤為重要。為了有效地跟蹤和解決可能出現(xiàn)的問題,開發(fā)者們需要一款強大且靈活的監(jiān)控工具。WatchDog正是為了滿足這一需求而誕生的開源項目,它使用C#語言開發(fā),專注于為ASP.NetCoreWeb和WebApi應(yīng)用提供實時監(jiān)控功能。一、實時監(jiān)控的核心功能Watc...
|
前言多線程是C#中一個重要的概念,多線程指的是在同一進程中同時運行多個線程的機制。多線程適用于需要提高系統(tǒng)并發(fā)性、吞吐量和響應(yīng)速度的場景,可以充分利用多核處理器和系統(tǒng)資源,提高應(yīng)用程序的性能和效率。多線程常用場景CPU密集型任務(wù).I/O密集型任務(wù).并發(fā)請求處理.大數(shù)據(jù)處理等.什么是進程?進程(Process)是計算機中...
|
在.NET中,異步(Asynchrony)和并行(Parallelism)是兩個不同但相互關(guān)聯(lián)的概念,用于處理并發(fā)操作。以下是它們之間的主要區(qū)別和用法:異步編程定義:異步編程允許應(yīng)用程序在等待I/O操作(如文件讀寫、網(wǎng)絡(luò)請求或數(shù)據(jù)庫查詢)完成時釋放線程,而不是阻塞線程直到操作完成。這提高了應(yīng)用程序的響應(yīng)性和吞吐量。關(guān)鍵...
|
在.NET6中,自動注冊服務(wù)通常意味著你希望在不手動調(diào)用builder.Services.Add*方法的情況下,將服務(wù)添加到依賴注入(DI)容器中。這可以通過幾種方式實現(xiàn),包括使用反射、約定、或者第三方庫。下面是一些策略來實現(xiàn)自動注冊服務(wù):1.使用反射掃描并注冊服務(wù)你可以編寫一個方法來掃描程序集中的所有類型,并自動注冊...
|
在C#中,dynamic關(guān)鍵字為開發(fā)者提供了一種靈活的方式來處理那些類型在編譯時未知的對象。通過使用dynamic,我們可以編寫代碼,就好像我們知道對象的類型一樣,而實際上類型解析和綁定將在運行時進行。這為我們處理來自動態(tài)語言、COM互操作、JSON對象、XML文檔或其他需要動態(tài)處理類型的場景提供了極大的便利。然而,使...
|
在C#中,Invoke()是一個用于調(diào)用方法的方法,它能夠在運行時動態(tài)地調(diào)用一個方法。Invoke方法主要用于以下幾種場景:1.委托的Invoke:委托是C#中的一種類型,它表示引用方法的對象。你可以通過委托來調(diào)用(或“調(diào)用”)它所引用的方法。Invoke方法用于顯式地調(diào)用委托所引用的方法。delegatevoidMy...
|
前言C#語言是一種強類型語言,要求每個變量都必須指定數(shù)據(jù)類型。C#語言的數(shù)據(jù)類型分為值類型和引用類型二種。在實際編寫程序時,經(jīng)常會對二個數(shù)據(jù)進行比較其是否相等。C#語言為我們提供了==運算符與Equals方法。在應(yīng)用這二種方式時是存在一些區(qū)別的,下面就一起了解兩者有什么區(qū)別。值類型相等對于預(yù)定義的值類型,二個操作數(shù)的相...
|
前言當(dāng)下編寫應(yīng)用程序都流行前后端分離,后端提供對應(yīng)服務(wù)接口給前端或跨應(yīng)用程序調(diào)用,如WebAPI等。在調(diào)用這些服務(wù)接口發(fā)送HTTP請求,而.NET為我們提供了HttpWebRequest、HttpClient幾個類庫來實現(xiàn)。下面對C#使用HttpClient類發(fā)送HTTP請求數(shù)據(jù)的幾種格式。HttpClientHttp...
|
前言在.NET中有ToString()和Convert.ToString()兩個方法,它們都可以用于將對象轉(zhuǎn)換為字符串。然而,它們存在不同的用法和表現(xiàn)。了解這兩種方法之間的差異,可以幫助我們選擇適合需求的方法。本文介紹這兩種方法及其差異。ToString()ToString()方法是Object類的成員,在各種數(shù)據(jù)類型...
|
引言在項目開發(fā)過程中,偶爾需要獲取計算機環(huán)境信息,如操作系統(tǒng)、部分硬件等。根據(jù)獲取的信息配置不同邏輯、提供硬件選擇(如打印機、攝像頭等)。本文將介紹幾個常用的獲取計算機或硬件信息方式。系統(tǒng)1、獲取操作系統(tǒng)信息///<summary>///操作系統(tǒng)信息///</summary>///<returns></returns>...
|
前言Windows服務(wù)是運行在后臺的應(yīng)用程序,可以設(shè)置其在系統(tǒng)啟動時自動運行,并在系統(tǒng)運行期間持續(xù)運行。這種應(yīng)用程序沒有用戶界面,也不產(chǎn)生可視輸出。通過服務(wù)控制管理器進行終止、暫停、啟動的管理。本文將介紹派生自ServiceBase類的方式創(chuàng)建與部署Windows服務(wù)內(nèi)容。ServiceBase類ServiceBase...
|
零代碼是什么?顧名思義,零代碼是指不通過編寫代碼去實現(xiàn)應(yīng)用系統(tǒng)的搭建,這種開發(fā)形式為不具備編程技術(shù)能力的普通人賦予了開發(fā)能力。這里舉個建房子的例子就更好理解:傳統(tǒng)代碼開發(fā)就像自己從0-1建房子,需要做設(shè)計、打地基、搭建建筑主體框架結(jié)構(gòu)、再裝修,優(yōu)點是你可以完全按照自己的想法去搭建,缺點是這需要很強的專業(yè)建筑能力、漫長的...
|
在現(xiàn)代軟件開發(fā)中,API(應(yīng)用程序接口)的安全性至關(guān)重要。隨著網(wǎng)絡(luò)攻擊的不斷增多,對API進行加密已經(jīng)成為保護數(shù)據(jù)傳輸?shù)臉?biāo)配。本文將介紹如何在C#中快速實現(xiàn)API加密,以確保你的數(shù)據(jù)傳輸安全。一、為什么需要API加密API加密是保護數(shù)據(jù)傳輸?shù)闹匾侄巍.?dāng)數(shù)據(jù)在客戶端和服務(wù)器之間傳輸時,如果沒有加密,那么數(shù)據(jù)很容易被中間...
|
摘要:Web應(yīng)用程序中經(jīng)常使用數(shù)據(jù)分頁技術(shù),該技術(shù)是提高海量數(shù)據(jù)訪問性能的主要手段。實現(xiàn)web數(shù)據(jù)分頁有多種方案,本文通過實際項目的測試,對多種數(shù)據(jù)分頁方案深入分析和比較,找到了一種更優(yōu)的數(shù)據(jù)分頁方案Row_number()二分法。它依靠二分思想,將整個待查詢記錄分為2部分,使掃描的記錄量減少一半,進而還通過對數(shù)據(jù)表及...
|
在sqlsever中大數(shù)據(jù)的分頁一直是難以處理的一塊,利用id自增列分頁也存在不足之處。從一個相對全面的分頁看,sqlsever2005中新增的row_number()函數(shù)解決了這個問題。還是從一個實際項目開始介紹吧。中國鐵建股份公司的項目表中數(shù)據(jù)很大,開發(fā)之初用的是GridView控件自帶的分頁,在運行一年以后,點擊...
|
微軟SQLServer數(shù)據(jù)庫中包含了很多內(nèi)置的函數(shù),如下圖:它們用于處理日期、數(shù)學(xué)、元數(shù)據(jù)、字符串等。其中最為常用的就是處理字符串,里面包含了CharIndex()等函數(shù),非常方便使用。但是對于特殊字符串的處理,比如:ISBN號7
|
程序目錄的整理想必C#的開發(fā)者都遇到過這個問題,引用的dll都放在根目錄下,隨著項目的日益增大,根目錄下充滿了各種各樣的dll,非常的不美觀。如果能夠把dll按照想要的目錄來存放,那么系統(tǒng)就美觀多了,以下是我常用的程序各文件的分布:【3rdLibs】NLog.dllNewtonsoft.Json.dll……【MyLib...
|
先說結(jié)論:在SQLServer中處理億萬級別的數(shù)據(jù)(歷史數(shù)據(jù)),可以按以下方面進行:1、去掉表的所有索引2、用SqlBulkCopy進行插入3、分表或者分區(qū),減少每個表的數(shù)據(jù)總量4、在某個表完全寫完之后再建立索引5、正確的指定索引字段6、把需要用到的字段放到包含索引中(在返回的索引中就包含了一切)7、查詢的時候只返回所...
|
WinForm程序開發(fā)中,在開發(fā)模式下對于異常的處理一般都是通過調(diào)試的方式來查找異常發(fā)生的未知與原因。下面以“除數(shù)為0”的情況來具體說明。Button按鈕事件如下:privatevoidbutton1_Click(objectsender,EventArgse)catch(Exceptionex)}編譯后運行程序,點擊...
|
前言企業(yè)級信息化系統(tǒng)絕大部分采用BS架構(gòu)實現(xiàn),如門戶網(wǎng)站、OA系統(tǒng)、電商網(wǎng)站等,通過瀏覽器輸入Web網(wǎng)址即可訪問,對于使用者來說非常便捷,對于開發(fā)維護者來說也非常方便,程序維護只需更新服務(wù)器即可,使用者無感知。但是CS架構(gòu)的WinForm客戶端程序仍然具有很實用的價值,如WPS、IT類的集成開發(fā)環(huán)境(數(shù)據(jù)庫、圖形處理軟...
|
前言.NET開發(fā)者們,你們的開發(fā)之旅即將迎來革命性的變化!想象一下,無需任何JavaScript或CSS經(jīng)驗,就能快速構(gòu)建功能豐富的Web應(yīng)用——這不再是夢想。Gradio.Net是一個基于.NET的開源項目,旨在為開發(fā)者提供一個高效、靈活且易于使用的Web應(yīng)用開發(fā)框架。Gradio.Net應(yīng)運而生,旨在利用.NET的...
|
前言.NET除了能寫桌面應(yīng)用和Web應(yīng)用還能做什么?將通過本篇文章來簡單講講.NET能做哪些開發(fā),對.NET感興趣的小伙伴也可以自行領(lǐng)取文末附帶的.NET相關(guān)學(xué)習(xí)資料。.NET介紹.NET是一個開源(MITLicense)、免費、跨平臺的開發(fā)平臺框架,用于生成多種類型的應(yīng)用程序。.NET可以運行使用多種語言(C#、Vi...
|
概述:asyncvoid對于許多開發(fā)人員來說,C#中的方法是編寫異步await代碼時出現(xiàn)許多問題的根源。我們建議使用的模式當(dāng)然是,但在某些情況下(例如C#中的事件處理程序),方法簽名不兼容。asyncTask在本文中,我將解釋為什么C#中的方法是你要避免的。我們將介紹一些比較和更好地理解的代碼示例,我還將解釋如果您別無...
|
一、項目介紹SmartSQL是一款開源的數(shù)據(jù)庫文檔工具!該工具從最初支持CHM文檔格式開始,通過開源,集思廣益,不斷改進,又陸續(xù)支持Word、Excel、PDF、Html、XML、MarkDown等文檔格式的導(dǎo)出。本項目力求做最簡單、最好用的數(shù)據(jù)庫文檔(字典)檢索生成工具!二、數(shù)據(jù)庫支持MarkDown更新表列的注釋,...
|