2016-11-10 67 views
3

我正在創建一個uwp應用程序,我想從用戶接收一些數據,然後將其傳遞給後臺任務。但是當我試圖將項目引用添加到後臺任務時,我收到了循環引用錯誤。那麼有什麼辦法可以傳遞參數,可能是運行函數或其他任何東西的重載。 在此先感謝。傳遞參數或參數到Uwp中的後臺任務

回答

3

Romasz完美地解釋,但在你的情況,你可以通過執行這些步驟得到文本框中的用戶數據:

1.Declare這MainPage.xaml.cs中(或您的XAML頁面)

var localSettings = Windows.Storage.ApplicationData.Current.LocalSettings; 
localSettings.Values["user"] = User.Text; 

2.Now使用這些

var localSettings = Windows.Storage.ApplicationData.Current.LocalSettings; 
string user = localSettings.Values["user"].ToString(); 

這裏變量用戶已經從你的炫魅希望texbox數據得到BackgroundTask.cs數據。

注:我假設你有一個名爲您的文本框的「用戶」

1

沒有直接的辦法做你想做的,每個進程(例如BTaskUI)有自己的內存,它不能被訪問就是這樣。

您需要某種經紀商來實現此目的 - 對於簡短的溝通,我認爲您可以使用LocalSettings,這應該可以正常工作 - 儘管在複雜對象的情況下,您可能需要首先序列化它們。對於更高級的通信,您也可以考慮使用LocalFolder或其他可供所有進程訪問的地方的文件。

在某些情況下,可能會出現進程同步(或訪問共享資源,如文件)的問題 - 爲此,有用於全局同步的設計對象,例如。 MutexEventWaitHanle

+0

非常感謝你的解釋 – YogI