我正在處理一個場景,在該場景中,我需要通過wp8應用程序的按鈕單擊事件將保存在獨立存儲文件中的日誌發送到電子郵件。下面是我打算怎麼辦呢,WP8中的EmailComposeTask問題
private void BtnGetLogs_OnClick(object sender, RoutedEventArgs e)
{
try
{
var isoStore = IsolatedStorageFile.GetUserStoreForApplication();
//Check if the isolated file exists
if (isoStore.FileExists(LogFileName))
{
Debug.WriteLine("The file exists!");
// Open the filestream to read the file
var isoStream = new IsolatedStorageFileStream(LogFileName, FileMode.Open, isoStore);
var reader = new StreamReader(isoStream);
string text = reader.ReadToEnd();
SendLogsToEmail(text.Substring(length));
}
這是我發送電子郵件的功能,
private void SendLogsToEmail(string body)
{
var emailComposeTask = new EmailComposeTask();
{
emailComposeTask.Subject = "Log file to mail";
emailComposeTask.Body = body;
emailComposeTask.To = "[email protected]";
};
emailComposeTask.Show();
}
我想給關於這個問題的背景,以及。這純粹是一個Windows Phone 8.0項目,所以我不能發送任何附件。這就是我試圖讀取所有文件內容並通過郵件發送的原因。請注意,這是解決我的工作。這是一種邊緣情況,因爲OEM安全問題,我無法從IsoStoreSpy或任何其他工具提取日誌。所以在應用程序本身,我有一個按鈕單擊事件,它讀取隔離的存儲文件並向指定的用戶發送郵件。
這裏的問題,我 在emailComposeTask.Show();
得到ArgumentOutOfRangeException和錯誤消息是,
Specified argument was out of the range of valid values.
Parameter name: The size of input should not exceed 64K.
日誌文件是一個相當大的文件實際上。有沒有一個優雅的解決這個問題?