private void UploadFile(object item) { canUploadJob = false; JobMonitorCommand.UpdateCanExecuteCommand(); Uri SourceUri = new Uri(App.Current.Host.Source, "../UploadFileHandler.ashx"); System.UriBuilder ub = new System.UriBuilder(SourceUri); Uri docUri = new System.UriBuilder(SourceUri).Uri; //Uri docUri = new System.UriBuilder( // System.Windows.Browser.HtmlPage.Document.DocumentUri.Scheme // , System.Windows.Browser.HtmlPage.Document.DocumentUri.Host // , System.Windows.Browser.HtmlPage.Document.DocumentUri.Port // , "UploadFileHandler.ashx").Uri; // Initiate a background worker so we don't hold up the UI of the Client App BackgroundWorker bw = new BackgroundWorker(); bw.DoWork += (bw_sender, bw_e) => { ProcessSingleFile(selectedWPCFileName, selectedWPCFile, bw_sender, bw_e, docUri); ProcessSingleFile(selectedLAFileName, selectedLAFile, bw_sender, bw_e, docUri); ProcessSingleFile(selectedCtyFileName, selectedCtyFile, bw_sender, bw_e, docUri); ProcessSingleFile(selectedLEAFileName, selectedLEAFile, bw_sender, bw_e, docUri); ProcessSingleFile(selectedNUTS1FileName, selectedNUTS1File, bw_sender, bw_e, docUri); ProcessSingleFile(selectedWDFileName, selectedWDFile, bw_sender, bw_e, docUri); ProcessSingleFile(selectedPCFileName, selectedPCFile, bw_sender, bw_e, docUri); }; bw.RunWorkerAsync(); bw.RunWorkerCompleted += new RunWorkerCompletedEventHandler(bw_RunWorkerCompleted); }
private void UploadFile(object item) { canUploadJob = false; JobMonitorCommand.UpdateCanExecuteCommand(); Chunks = new ObservableCollection <Chunk>(); UniqueFileName = System.DateTime.Now.ToString("yyyyMMdd_HHmmss_") + selectedFile.Name; FilePosition = 0; FileSize = selectedFile.Length; // Construct URI to the File upload Handler ASHX file Uri SourceUri = new Uri(App.Current.Host.Source, "../UploadFileHandler.ashx"); System.UriBuilder ub = new System.UriBuilder(SourceUri); //System.UriBuilder ub = new System.UriBuilder( // System.Windows.Browser.HtmlPage.Document.DocumentUri.Scheme // , System.Windows.Browser.HtmlPage.Document.DocumentUri.Host // , System.Windows.Browser.HtmlPage.Document.DocumentUri.Port // , "UploadFileHandler.ashx"); // Set any parameters the Handler will require. // Here we pass in the original + unique file name ub.Query = "filename=" + selectedFile.Name + "&uniquefilename=" + UniqueFileName; // Initiate a background worker so we don't hold up the UI of the Client App BackgroundWorker bw = new BackgroundWorker(); bw.DoWork += (bw_sender, bw_e) => { // The function that does the background work ProcessFileUpload(ub.Uri , (System.IO.FileInfo)bw_e.Argument , (System.ComponentModel.BackgroundWorker)bw_sender , bw_e); }; bw.RunWorkerAsync(selectedFile); bw.RunWorkerCompleted += new RunWorkerCompletedEventHandler(bw_RunWorkerCompleted); }
void bw_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { canUploadJob = true; JobMonitorCommand.UpdateCanExecuteCommand(); }