WPF應(yīng)用啟動(dòng)慢的問題解決
方案一,更改啟動(dòng)項(xiàng)
出問題應(yīng)用的啟動(dòng)項(xiàng)是使用的默認(rèn)設(shè)置,查看App.g.cs文件,可以看到自動(dòng)生成的Main入口函數(shù),如下:
[System.STAThreadAttribute()] [System.Diagnostics.DebuggerNonUserCodeAttribute()] [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] public static void Main() { WpfApp1.App app = new WpfApp1.App(); app.InitializeComponent(); app.Run(); }
新建一個(gè)StartUp文件,將項(xiàng)目啟動(dòng)項(xiàng)修改為WpfApp1.StartUp,這樣就可以解決該問題,代碼如下。與原始方案對(duì)比,該方案使用了WindowsFormsApplicationBase,該方案為什么可以解決啟動(dòng)慢的問題,我還沒搞清楚,或許和方案二有關(guān)。
// StartUp.cs class StartUp : Application { [STAThread] public static void Main(string[] args) { var startUp = new MyStartUp(); startUp.Run(args); } } // 需要添加對(duì)Microsoft.VisualBasic的引用 class MyStartUp : WindowsFormsApplicationBase { protected override bool OnStartup(StartupEventArgs eventArgs) { App app = new App(); app.Run(); return false; } } // App.xaml.cs 刪除App.xaml中的StartupUri="MainWindow.xaml" public partial class App : Application { public App() { var win = new MainWindow(); win.Show(); } }
方案二,禁用檢查應(yīng)用程序的CAS發(fā)布者策略
在config文件中添加如下配置項(xiàng)。generatePublisherEvidence指定運(yùn)行時(shí)是否為CAS創(chuàng)建發(fā)布者證據(jù),其默認(rèn)值為true,即創(chuàng)建發(fā)布者證據(jù),這樣可能會(huì)導(dǎo)致超時(shí)和服務(wù)啟動(dòng)延遲。因此將其置為false,該方法也可以解決啟動(dòng)慢的問題。
<configuration> <runtime> <generatePublisherEvidence enabled="false"/> </runtime> </configuration>
以上就是WPF應(yīng)用啟動(dòng)慢的問題解決的詳細(xì)內(nèi)容,更多關(guān)于WPF應(yīng)用啟動(dòng)慢的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
C#創(chuàng)建Windows Service(Windows 服務(wù))的方法步驟
本文介紹了如何用C#創(chuàng)建、安裝、啟動(dòng)、監(jiān)控、卸載簡(jiǎn)單的Windows Service 的內(nèi)容步驟和注意事項(xiàng),具有一定的參考價(jià)值,感興趣的可以了解一下2023-11-11C# DateTime.ToString根據(jù)不同語(yǔ)言生成相應(yīng)的時(shí)間格式
本文分享了一個(gè)按照不同國(guó)家的語(yǔ)言生成相應(yīng)時(shí)間格式的案例,有需要做國(guó)外網(wǎng)站或者多國(guó)語(yǔ)言網(wǎng)站的朋友可以參考一下。2016-03-03C#根據(jù)IP地址查詢所屬地區(qū)實(shí)例詳解
這篇文章主要介紹了C#根據(jù)IP地址查詢所屬地區(qū)實(shí)例詳解,調(diào)用的接口是免費(fèi)的接口,有需要的同學(xué)可以研究下2021-03-03WCF如何使用動(dòng)態(tài)代理精簡(jiǎn)代碼架構(gòu)
這篇文章主要介紹了WCF如何使用動(dòng)態(tài)代理精簡(jiǎn)代碼架構(gòu),幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下2021-03-03WPF實(shí)現(xiàn)能自由改變形狀的四邊形和六邊形
這篇文章主要為大家詳細(xì)介紹了WPF如何實(shí)現(xiàn)能自由改變形狀的四邊形和六邊形,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-03-03使用C#自制一個(gè)Windows安裝包的詳細(xì)過程
這篇文章主要介紹了如何使用C#自制一個(gè)Windows安裝包,文中通過圖文結(jié)合的方式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-07-07WPF利用TextBlock實(shí)現(xiàn)查找結(jié)果高亮顯示效果
在應(yīng)用開發(fā)過程中,經(jīng)常遇到這樣的需求:通過關(guān)鍵字查找數(shù)據(jù),把帶有關(guān)鍵字的數(shù)據(jù)顯示出來(lái),同時(shí)在結(jié)果中高亮顯示關(guān)鍵字,所以本文就來(lái)和大家介紹一下如何利用TextBlock實(shí)現(xiàn)查找結(jié)果高亮顯示效果吧2023-08-08