原创 .NET Core學習筆記(7)——Exception最佳實踐

1.爲什麼不要給每個方法都寫try catch 爲每個方法都編寫try catch是錯誤的做法,理由如下: a.重複嵌套的try catch是無用的,多餘的。 這一點非常容易理解,下面的示例代碼中,OutsideMethodA中的try c

原创 如何將 Bitbucket 的 pull request 簽出到本地 review

將 pull request 簽出到本地進行 review, 最大的好處是可以通過 IDE 來查找各種變量和方法的上下文引用,以便充分發揮我們槓精的本領,將 pull request 中的各種合理和不合理之處予以快速精準 的打擊,在大量添加

原创 .NET Core學習筆記(6)——UWP略過SSL證書調用SignalR服務

在前一篇《.NET Core學習筆記(5)——WebAPI從Server端push消息到Client》中,我們簡單學習了.NET Core版本SignalR的使用。Sample工程裏我們創建了一個Console的Client接受來自Sign

原创 遷移桌面程序到MS Store(15)——通過註冊表開啓Developer Mode

沒想到該系列不僅沒有太監,還打算更新一個小短篇。在各種大廠小廠工作的各位想必都知道Windows域的概念。入域機器的設置由不得登入所用的域賬號,Windows的更新和安全等衆多的設置均被鎖定,由域管理員掌控。聞道有先後,術業有專攻。域管理員

原创 遷移桌面程序到MS Store(14)——APPX嵌入WCF Service以Admin權限運行

Windows10 1809版本開始,微軟又對UWP開放了新的Capability:AllowElevation。 通過這個新的Capability,UWP APP能夠在運行時向用戶請求Admin權限,配合Windows 1607版本就引入

原创 .NET Core學習筆記(4)——謹慎混合同步和異步代碼

原則上我們應該避免編寫混合同步和異步的代碼,這其中最大的問題就是很容易出現死鎖。讓我們來看下面的例子: private void ButtonDelayBlock_Click(object sender, RoutedEv

原创 .NET Core學習筆記(3)——async/await中的Exception處理

在寫了很多年.NET程序之後,年長的猿類在面對異步編程時,仍不時會犯下致命錯誤,乃至被拖出去殺了祭天。本篇就async/await中的Exception處理進行討論,爲種族的繁衍生息做出貢獻……處理async/await中的Exceptio

原创 .NET Core學習筆記(2)—— WPF使用UWP Custom Control

自.NET Core 3.0開始,某軟加入了對WPF的支持。同時對XAML Islands也做了進一步加強。在.NET Core 3.0之前,我們只能在WPF程序中,通過兩種方式有限制地使用Standard UWP Control: 微

原创 遷移桌面程序到MS Store(13)——動態檢查Win10 API是否可用

假設我們現有一個WPF程序,需要支持1903以前的Windows 10版本。同時在1903以後的版本上,額外多出一個Ink的功能。那麼我們就可以通過ApiInformation.IsApiContractPresent方法來判斷1903的A

原创 遷移桌面程序到MS Store(12)——WPF使用UWP InkToolbar和InkCanvas

我們在《遷移桌面程序到MS Store(4)——桌面程序調用Win10 API》提到了對Win10 API的調用,但仍存在無法在WPF中使用UWP控件的問題,雖然都是XAML控件,但卻是兩套命名空間下的同名類型,無法混用。人總會被現實打敗,

原创 遷移桌面程序到MS Store(11)——應用SVG圖標

在傳統桌面程序中,對圖標的使用大多是直接嵌入JPG或者PNG的圖片。在祖傳的1366x768分辨率下,並沒有什麼問題。相對於手機硬件的突飛猛進,也側面反映了PC行業的落寞和桌面程序開發的不思進取。用360衛士的羣衆並不能倒推PC行業的升級。

原创 UWP開發入門(二十四)—— Win10風格的打印對話框

雖然經常看到阿迪王發“看那個開發UWP的又上吊了”的圖……還是忍不住重啓一下這個系列。最近有用到UWP的print API,特地來寫一篇給某軟的這個偉大構想續一秒。 之前的打印對話框差不多長成這樣: 而新的Win10風格打印對話框是下圖的

原创 遷移桌面程序到MS Store(10)——在Windows10 S Mode運行

首先簡單介紹Windows 10 S Mode,Windows在該模式下,只能跑MS Store裏的軟件,不能通過其他方式安裝。好處是安全有保障,杜絕一切國產流氓軟件。就像iOS一樣,APP進商店都需審覈,同時APP在沙盒環境下,以普通用戶

原创 .NET Core學習筆記(1)——在Linux下運行Console APP

都說.NET Core可以跨平臺,說實話Linux咱也不太懂,咱也不敢問。怎樣把一個簡單的Console App在Linux下跑起來,真是費了我一番功夫。特做此篇以供指北。 .NET Core的大餅我就不替某軟畫了。接下來我們就做個傻瓜教程

原创 遷移桌面程序到MS Store(9)——APPX With Desktop Extension

在《遷移桌面程序到MS Store(8)——通過APPX下載Win32Component》中我們討論了通過APPX來下載Service部分的安裝包。但是純UWP的客戶端並不能自動運行下載的exe或者msi文件。本篇將着手解決這個問題。假設我