第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

WPF:如何在Windows之間共享httpClient

WPF:如何在Windows之間共享httpClient

C#
慕妹3242003 2021-04-08 13:14:15
免責(zé)聲明:我真的是WPF的新手。在網(wǎng)上瀏覽后,我了解到HttpClient應(yīng)該用作WPF中Windows之間共享的單例。但是,我似乎找不到在MVC中找到的清晰的啟動(dòng)入口點(diǎn)(啟動(dòng),du?。?。我應(yīng)該在哪里實(shí)例化HttpClient,如何在多個(gè)窗口中使用它?目前我有兩個(gè)窗戶。登錄名和MainWindow。兩者都非?;A(chǔ)。例子:public partial class Login : Window{    public Login()    {        InitializeComponent();    }    private void BtnLoginSubmit_Click(object sender, RoutedEventArgs e)    {    }}在我的App.xaml.cs中,我實(shí)例化了一個(gè)HttpClient對(duì)象,可以從我的MainWindow訪問該對(duì)象:App.xaml.cs:public partial class App : Application{    public HttpClient httpClient { get; set; }}MainWindow.xaml.cs:public partial class MainWindow : Window    {        private static ObservableCollection<string> states;        public static void Add(string state)        {            states.Add(state);        }         public MainWindow()        {            InitializeComponent();            ((App)Application.Current).httpClient = new HttpClient();            states = new ObservableCollection<string>();            states.Add("Initialized");            states.CollectionChanged += states_CollectionChanged;            LblStates.ItemsSource = states;            Microsoft.Win32.SystemEvents.SessionSwitch += new Microsoft.Win32.SessionSwitchEventHandler(SystemEvents_SessionSwitch);        }        static void SystemEvents_SessionSwitch(object sender, SessionSwitchEventArgs e)        {            if (e.Reason == SessionSwitchReason.SessionLock)            {            }            MainWindow.Add(e.Reason.ToString());        }        void states_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)        {            if (e.Action == System.Collections.Specialized.NotifyCollectionChangedAction.Add)            {                LblStates.Items.Refresh();            }        }    }
查看完整描述

2 回答

?
慕尼黑5688855

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超2個(gè)贊

最基本的方法是添加一個(gè)包含HttpClient靜態(tài)實(shí)例的靜態(tài)類。


internal static class HttpClientManager

{

    public static HttpClient Client = InititializeHttpClient();

}

然后,您可以從任何地方引用客戶端,例如HttpClientManager.HttpClient。


查看完整回答
反對(duì) 回復(fù) 2021-04-24
?
回首憶惘然

TA貢獻(xiàn)1847條經(jīng)驗(yàn) 獲得超11個(gè)贊

我不明白為什么您需要HttpClient在不同的窗口之間共享-最好的方法是在需要時(shí)調(diào)用它,除非需要保留狀態(tài)。也就是說,您可以在應(yīng)用程序級(jí)別創(chuàng)建HttpClient并在HttpClient那里定義一個(gè)。

您可以定義它,App.xaml.cs并在必要時(shí)重新使用。它不一定需要是靜態(tài)的,您只需要引用特定的實(shí)例化實(shí)體即可。


查看完整回答
反對(duì) 回復(fù) 2021-04-24
  • 2 回答
  • 0 關(guān)注
  • 313 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)