fastfilesend's People
fastfilesend's Issues
При выборе меню «Downloads» автоматически скрывать боковую панель
Возможность отменять прием файла
Программа молча падает в фоне
Application: FastFileSend.WPF.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.Threading.Tasks.TaskCanceledException
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)
at FastFileSend.Main.ApiServer+<GetLastOnline>d__22.MoveNext()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)
at FastFileSend.UI.UserViewModelUpdateStatus+<TimerUserStatusCheck_Elapsed>d__13.MoveNext()
at System.Runtime.CompilerServices.AsyncMethodBuilderCore+<>c.<ThrowAsync>b__6_1(System.Object)
at System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(System.Object)
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()
Вылет при отправке файла на 12.5 гб
Application: FastFileSend.WPF.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.ArgumentNullException
at System.Uri..ctor(System.String)
at FastFileSend.Main.FexFileUploader+<UploadAsync>d__2.MoveNext()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)
at FastFileSend.Program.FastFileSendProgram+<UploadFile>d__21.MoveNext()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)
at FastFileSend.Program.FastFileSendProgram+<Send>d__17.MoveNext()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)
at FastFileSend.WPF.MainWindow+<ButtonSend_Click>d__5.MoveNext()
at System.Runtime.CompilerServices.AsyncMethodBuilderCore+<>c.<ThrowAsync>b__6_0(System.Object)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
at System.Windows.Threading.DispatcherOperation.InvokeImpl()
at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(System.Object)
at MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(System.Object)
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
at MS.Internal.CulturePreservingExecutionContext.Run(MS.Internal.CulturePreservingExecutionContext, System.Threading.ContextCallback, System.Object)
at System.Windows.Threading.DispatcherOperation.Invoke()
at System.Windows.Threading.Dispatcher.ProcessQueue()
at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
at MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32)
at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr)
at MS.Win32.UnsafeNativeMethods.DispatchMessage(System.Windows.Interop.MSG ByRef)
at System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame)
at System.Windows.Threading.Dispatcher.PushFrame(System.Windows.Threading.DispatcherFrame)
at System.Windows.Application.RunDispatcher(System.Object)
at System.Windows.Application.RunInternal(System.Windows.Window)
at System.Windows.Application.Run(System.Windows.Window)
at FastFileSend.WPF.App.Main()
Не появляется вертикальная прокрутка в форме
Закрытие формы выбора пользователя выбирает первого
System.ArgumentNullException:
Time: 12/29/2019 1:53:21 PM
Error: Unhandled Exception
System.Exception: CurrentDomainOnUnhandledException ---> System.ArgumentNullException: Value cannot be null.
Parameter name: handler
at System.Net.Http.HttpMessageInvoker..ctor (System.Net.Http.HttpMessageHandler handler, System.Boolean disposeHandler) [0x00023] in <9d6a2df2a4584ac98314b928227a7f53>:0
at System.Net.Http.HttpClient..ctor (System.Net.Http.HttpMessageHandler handler, System.Boolean disposeHandler) [0x00000] in <9d6a2df2a4584ac98314b928227a7f53>:0
at FastFileSend.Main.ApiServer.SendQuery[T] (System.String api, System.String query) <0xa02f6848 + 0x000d3> in <cfce03c7ef274be88fb97c5bb3c46dde>:0
at FastFileSend.Main.ApiServer.CreateNewAccount (System.Net.Http.HttpMessageHandler httpClientHandler) [0x0006a] in <cfce03c7ef274be88fb97c5bb3c46dde>:0
at FastFileSend.Program.FastFileSendProgram.Login () [0x000a9] in <8f0483557bb1411a93ade43681ad79eb>:0
at FastFileSend.App.OnStart () [0x000a5] in <64f5f254ccc347e3bd3984f064631b95>:0
at System.Runtime.CompilerServices.AsyncMethodBuilderCore+<>c.<ThrowAsync>b__7_0 (System.Object state) [0x00000] in <31cfadf7953449d0a21cf7f416c9f592>:0
at Android.App.SyncContext+<>c__DisplayClass2_0.<Post>b__0 () [0x00000] in <4304aa07354041e589a77d38341ebba1>:0
at Java.Lang.Thread+RunnableImplementor.Run () <0xa052a5a8 + 0x0005f> in <4304aa07354041e589a77d38341ebba1>:0
at Java.Lang.IRunnableInvoker.n_Run (System.IntPtr jnienv, System.IntPtr native__this) [0x00009] in <4304aa07354041e589a77d38341ebba1>:0
at (wrapper dynamic-method) Android.Runtime.DynamicMethodNameCounter.78(intptr,intptr)
--- End of inner exception stack trace ---
(Полу)автоматическое обновление
Между кнопками Download
и Close
сделать Check updates
, которая тупо проверит, есть ли что нового на гитхабе или в артефактах.
И если есть что нового, то:
- В идеале, само скачает и перезапустит себя
- Приемлемо, если добавит себя в список загрузок, а Sender будет 1337
- Норм, если просто откроет ссылку в браузере
Пользователь сам решает, куда принимать файлы
Если ты Вася, и у тебя есть компьютер и телефон, то ты можешь выбрать компьютер своим основным устройством. Когда кто-то другой хочет отправить файл и выбирает из контактов «Вася», то файл приходит на компьютер. А если компьютер отключен, то либо на все остальные, либо на какое-то конкретное устройство приходит уведомление: «Дима отправил файл, но на данный момент устройство “компьютер” недоступно» и под ним кнопки «Перенаправить файл сюда» (скачивает на телефон и файл считается принятым), «Скачать копию» (файл скачается, но когда компьютер будет в сети, то файл на него всё равно примется) и «Скрыть» (не знаю, много ли толка от такой кнопки, ведь уведомления можно закрыть и без каких-либо кнопок).
Так же Вася может в настройках аккаунта сделать выбранные устройства видимыми, поэтому другой пользователь может отправить файл либо «Васе» (сработает как описано выше), либо на «Вася/Телефон» (файл отправится прямиком на телефон, игнорируя настройку предпочитаемого устройства)
Когда добавляешь свой айди в свои контакты, то он отображается как оффлайн и выбивает ошибку при отправке
После перезапуска приложения становится норм
Падение после выбора файла для отправки
Time: 12/15/2019 11:27:13 AM
Error: Unhandled Exception
System.Exception: CurrentDomainOnUnhandledException ---> System.FormatException: Input string was not in a correct format.
at System.Number.ThrowOverflowOrFormatException (System.Boolean overflow, System.String overflowResourceKey) [0x0001a] in <3f010a3e1afe46dca45ce780d52c4fcb>:0
at System.Number.ParseInt64 (System.ReadOnlySpan`1[T] value, System.Globalization.NumberStyles styles, System.Globalization.NumberFormatInfo info) [0x00016] in <3f010a3e1afe46dca45ce780d52c4fcb>:0
at System.Int64.Parse (System.String s) [0x00016] in <3f010a3e1afe46dca45ce780d52c4fcb>:0
at Plugin.FilePicker.IOUtil.GetPath (Android.Content.Context context, Android.Net.Uri uri) [0x000b0] in <8283f9c30b1b41b2a46dd45643b296cd>:0
at Plugin.FilePicker.FilePickerActivity.OnActivityResult (System.Int32 requestCode, Android.App.Result resultCode, Android.Content.Intent data) [0x00039] in <8283f9c30b1b41b2a46dd45643b296cd>:0
--- End of stack trace from previous location where exception was thrown ---
at Plugin.FilePicker.FilePickerImplementation.PickFile (System.String[] allowedTypes) [0x0006d] in <8283f9c30b1b41b2a46dd45643b296cd>:0
at FastFileSend.FastFileSendProgramXamarin.SelectFileAsync () [0x00060] in <59b2ceefd05c4fa1aeb1d4f83dde47b2>:0
at FastFileSend.Program.FastFileSendProgram.Send () [0x000ea] in <5dcc9ff35013491ba41d5f99c2f22964>:0
at FastFileSend.Views.MainPage.NavigateFromMenu (System.Int32 id) [0x000b2] in <59b2ceefd05c4fa1aeb1d4f83dde47b2>:0
at FastFileSend.Views.MenuPage.<.ctor>b__3_0 (System.Object sender, Xamarin.Forms.SelectedItemChangedEventArgs e) [0x00090] in <59b2ceefd05c4fa1aeb1d4f83dde47b2>:0
at System.Runtime.CompilerServices.AsyncMethodBuilderCore+<>c.<ThrowAsync>b__7_0 (System.Object state) [0x00000] in <3f010a3e1afe46dca45ce780d52c4fcb>:0
at Android.App.SyncContext+<>c__DisplayClass2_0.<Post>b__0 () [0x00000] in <fa496181352646d58cb1110c0186ee41>:0
at Java.Lang.Thread+RunnableImplementor.Run () <0x7c6436a9d0 + 0x0004b> in <fa496181352646d58cb1110c0186ee41>:0
at Java.Lang.IRunnableInvoker.n_Run (System.IntPtr jnienv, System.IntPtr native__this) [0x00009] in <fa496181352646d58cb1110c0186ee41>:0
at (wrapper dynamic-method) Android.Runtime.DynamicMethodNameCounter.78(intptr,intptr)
--- End of inner exception stack trace ---
Концепт окна загрузок только для вам
Иконки (пять штук):
Общая информация
-
Первый, третий и четвёртый столбцы имеют фиксированный размер (авторазмер по контенту, если такое имеется). Второй столбец тянется вместе с окном (ну или если окно не тянется, то просто забирает всё оставшееся место), но если имя файла слишком огромное, то пусть обкусывается
эллипсамитроеточиями вродеScreenshot 2029-10-1...
. -
Заголовки столбцов не думаю что нужны, так как тут инфа сгруппирована так, что сложновато будет описать одним словом происходящее, да и без них красивее
Описание каждого столбца
-
Слева иконка показывает, файл был отправлен или принят. Иконка совмещена с прогрессбаром: в начале отправки иконка пустая, по мере прогресса заполняется (скачивание заполняется сверху вниз, отправка снизу вверх).
-
Имя файла совмещено с размером файла / статусом в два ряда. Имя показывается обычным шрифтом, информация помельче.
- При отправке / скачивании файла в скобках пишется прогресс и оставшееся время («53%, 00:03 left»)
- При ожидании скачивания на той стороне, в скобках пишется «Awaiting remote download»
- Во всех остальных случаях пишется только размер файла
-
Третий столбец отцентрирован вертикально, в нём показывается отправитель и через иконку-стрелку принимающий
-
Четвёртый столбец большими буквами показывает относительную дату, вторым рядом покзывает абсолютную дату шрифтом помельче
Удаленный статус загрузки не обновляется
После отправки файл, когда клиент заканчивает загружать - статус так и остается ожиданием удаленной загрузки
Отправка папок
Автоматически запаковываются на клиенте, к имени папки добавляется какое-нибудь специфическое слово, и при приёме файла программа смотрит на имя файла и распаковывает его.
Например, отправляешь папку Source
, она запаковывается в Source.folder.zip
, а на клиенте программа видит что файл кончается на .folder.
и распаковывает его.
Отправка больших файлов не работает
Вылет на 1163747328 байте, возможно меньше на 4096
Отправка на несуществующий айди выбивает ошибку
Это как #9, только для ведроида
Time: 12/14/2019 1:27:55 PM
Error: Unhandled Exception
System.Exception: CurrentDomainOnUnhandledException ---> System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'Xamarin.Forms.Platform.Android.FastRenderers.ImageRenderer'.
at Java.Interop.JniPeerMembers.AssertSelf (Java.Interop.IJavaPeerable self) <0x7c63213110 + 0x000e0> in <befd09500e9141f79755fe57430fe8b9>:0
at Java.Interop.JniPeerMembers+JniInstanceMethods.InvokeVirtualObjectMethod (System.String encodedMember, Java.Interop.IJavaPeerable self, Java.Interop.JniArgumentValue* parameters) <0x7c63215160 + 0x0003f> in <befd09500e9141f79755fe57430fe8b9>:0
at Android.Widget.ImageView.get_Drawable () [0x0000a] in <fc1a80b885554d00b2b64a8f0133ac71>:0
at Xamarin.Forms.Platform.Android.FastRenderers.ImageElementManager.TryUpdateBitmap (Xamarin.Forms.Platform.Android.IImageRendererController rendererController, Android.Widget.ImageView Control, Xamarin.Forms.IImageElement newImage, Xamarin.Forms.IImageElement previous) [0x00024] in <039dc6f9f40c4a668399f93931013d38>:0
at Xamarin.Forms.Platform.Android.FastRenderers.ImageElementManager.OnElementPropertyChanged (System.Object sender, System.ComponentModel.PropertyChangedEventArgs e) [0x000db] in <039dc6f9f40c4a668399f93931013d38>:0
at System.Runtime.CompilerServices.AsyncMethodBuilderCore+<>c.<ThrowAsync>b__7_0 (System.Object state) [0x00000] in <c614a74494c94685b0067b6c01f55348>:0
at Android.App.SyncContext+<>c__DisplayClass2_0.<Post>b__0 () [0x00000] in <fc1a80b885554d00b2b64a8f0133ac71>:0
at Java.Lang.Thread+RunnableImplementor.Run () <0x7c632699d0 + 0x0004b> in <fc1a80b885554d00b2b64a8f0133ac71>:0
at Java.Lang.IRunnableInvoker.n_Run (System.IntPtr jnienv, System.IntPtr native__this) [0x00009] in <fc1a80b885554d00b2b64a8f0133ac71>:0
at (wrapper dynamic-method) Android.Runtime.DynamicMethodNameCounter.78(intptr,intptr)
--- End of inner exception stack trace ---
Не знаю, а нужен ли тут вообще лог
Многократное нажатие на «ADD» показывает много окон с добавлением пользователя
Отправка на несуществующий айди выбивает ошибку
Если зажать файл без выделения то удаление не пройдет
Кнопка папки файлов остаётся подсвеченной после нажатия
Не работает редактирование пользователей
По долгому тапу по пользователю предлагает либо удалить, либо редактировать. Удаление не работает, а редактирование иногда показывает айди 0, а иногда тоже просто ничего не делает
Концепты дизайнов только для вам
Хотел сделать редизайн загрузок, но потом что-то понесло. Если вдруг что, местами может встречаться ад перфекциониста, так как я не думал что меня затянет настолько серьёзно и ставил объекты на глаз
Главное окно
- Перекрасить тема с синего на зелёный, так как ФФС всегда был зелёным
(забудем тот серый интерфейс с не-зелёным камуфляжным логотипом); - Кнопки с выезжающим меню больше нет, вместо неё стильный модный молодёжный дизайн, который не знаю насколько модный, просто из головы придумал что-то и оно мне вдруг даже понравилось;
- Во время загрузки показывается процент, а когда файл загружен/скачен, то отображается его дата;
- Цвет прогрессбара синий при скачивании, оранжевый при отправке и зелёный в спокойствии;
- Если у тебя есть возможность отображать размер файла (всегда отображать только три цифры), как делает винда, то было бы просто идеально. То есть
1.13 KB
,47.3 KB
,640 KB
; - Тап по файлу открывает файл;
- Тап по своему айди скопирует его в буфер (не уверен в надобности, но а вдруг);
- Тап по «Send file» открывает список контактов.
Основной вариант
Вариант, если в будущем у программы настройки не появятся )0
Первоначальный вариант, но что-то он мне показался не очень
Контакты
- Тап по контакту открывает отправку файлов;
- Долгий тап по контакту открывает его редактирование.
С закосом под стоковое приложение контактов
Альтернативный вариант, но что-то мне в нём всё равно не нравится
Редактирование/создание контакта
- [Back] уйдёт без сохранения изменений;
- [Save] сохранит изменения;
- Вне контекста звучит глупо, но оно интуитивнее чем принудительное добавление по выходу, как оно есть сейчас… вроде как.
System.UnauthorizedAccessException при чтении с флешки
Time: 14.12.2019 12:03:05
Error: Unhandled Exception
System.Exception: CurrentDomainOnUnhandledException ---> System.UnauthorizedAccessException: Access to the path "/storage/2651-0223/anime/Vinland Saga/Vinland Saga 15.avi" is denied.
at System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share, System.Int32 bufferSize, System.Boolean anonymous, System.IO.FileOptions options) [0x001b7] in <9c87a948012d41d5b6f6696fbd0d265b>:0
at System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode) [0x00000] in <9c87a948012d41d5b6f6696fbd0d265b>:0
at (wrapper remoting-invoke-with-check) System.IO.FileStream..ctor(string,System.IO.FileMode)
at FastFileSend.Program.FastFileSendProgram.SendFile (FastFileSend.UI.UserModel target, System.String path) [0x0002b] in <1fd3902d28944eb8a6acbf089861e919>:0
at FastFileSend.Program.FastFileSendProgram.Send () [0x00157] in <1fd3902d28944eb8a6acbf089861e919>:0
at FastFileSend.Views.MainPage.NavigateFromMenu (System.Int32 id) [0x000b2] in <19ee1e53c4c64c1b91dde0f845ed0958>:0
at FastFileSend.Views.MenuPage.<.ctor>b__3_0 (System.Object sender, Xamarin.Forms.SelectedItemChangedEventArgs e) [0x00090] in <19ee1e53c4c64c1b91dde0f845ed0958>:0
at System.Runtime.CompilerServices.AsyncMethodBuilderCore+<>c.<ThrowAsync>b__7_0 (System.Object state) [0x00000] in <9c87a948012d41d5b6f6696fbd0d265b>:0
at Android.App.SyncContext+<>c__DisplayClass2_0.<Post>b__0 () [0x00000] in <8902c450aa9d4f2a859f59e50ac058e8>:0
at Java.Lang.Thread+RunnableImplementor.Run () <0x7f6ec0a9d0 + 0x0004b> in <8902c450aa9d4f2a859f59e50ac058e8>:0
at Java.Lang.IRunnableInvoker.n_Run (System.IntPtr jnienv, System.IntPtr native__this) [0x00009] in <8902c450aa9d4f2a859f59e50ac058e8>:0
at (wrapper dynamic-method) Android.Runtime.DynamicMethodNameCounter.78(intptr,intptr)
--- End of inner exception stack trace ---
Автоматические добавление своего контакта
Программа падает, если в имени файла есть символ решётки
Application: FastFileSend.WPF.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.Net.Http.HttpRequestException
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)
at FastFileSend.Main.ApiServer+<Upload>d__24.MoveNext()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)
at FastFileSend.Program.FastFileSendProgram+<SendFile>d__17.MoveNext()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)
at FastFileSend.Program.FastFileSendProgram+<Send>d__16.MoveNext()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)
at FastFileSend.WPF.MainWindow+<ButtonSend_Click>d__5.MoveNext()
at System.Runtime.CompilerServices.AsyncMethodBuilderCore+<>c.<ThrowAsync>b__6_0(System.Object)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
at System.Windows.Threading.DispatcherOperation.InvokeImpl()
at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(System.Object)
at MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(System.Object)
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
at MS.Internal.CulturePreservingExecutionContext.Run(MS.Internal.CulturePreservingExecutionContext, System.Threading.ContextCallback, System.Object)
at System.Windows.Threading.DispatcherOperation.Invoke()
at System.Windows.Threading.Dispatcher.ProcessQueue()
at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
at MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32)
at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr)
at MS.Win32.UnsafeNativeMethods.DispatchMessage(System.Windows.Interop.MSG ByRef)
at System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame)
at System.Windows.Threading.Dispatcher.PushFrame(System.Windows.Threading.DispatcherFrame)
at System.Windows.Application.RunDispatcher(System.Object)
at System.Windows.Application.RunInternal(System.Windows.Window)
at System.Windows.Application.Run(System.Windows.Window)
at FastFileSend.WPF.App.Main()
Если выбрать пользователя и закрыть окно, всё равно появляется диалог отправки файла
Заставлять пользователя дать доступ к фс
Файл не освобождается после отправки
Список недавних загруженных файлов
Например, нужно поделиться большим файлом с двумя людьми. Отправляешь одному человеку, потом заходишь в список недавних файлов и выбираешь там отправку второму товарищу. У него скачивание начнётся сразу же, без ожидания загрузки с твоей стороны.
System.ObjectDisposedException: Cannot access a disposed object.
Скорее всего на пекарне тоже самое
Time: 14.12.2019 12:11:58
Error: Unhandled Exception
System.Exception: CurrentDomainOnUnhandledException ---> System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'Xamarin.Forms.Platform.Android.FastRenderers.ImageRenderer'.
at Java.Interop.JniPeerMembers.AssertSelf (Java.Interop.IJavaPeerable self) <0x7f6ebc5110 + 0x000e0> in <8afc950054ff4da78302d6a18323e39d>:0
at Java.Interop.JniPeerMembers+JniInstanceMethods.InvokeNonvirtualObjectMethod (System.String encodedMember, Java.Interop.IJavaPeerable self, Java.Interop.JniArgumentValue* parameters) <0x7f6ebc7330 + 0x0003b> in <8afc950054ff4da78302d6a18323e39d>:0
at Android.Views.View.get_Context () <0x7f6ebe95d0 + 0x0007b> in <8902c450aa9d4f2a859f59e50ac058e8>:0
at Xamarin.Forms.Platform.Android.Platform.GetNativeSize (Xamarin.Forms.VisualElement view, System.Double widthConstraint, System.Double heightConstraint) [0x0001f] in <039dc6f9f40c4a668399f93931013d38>:0
at Xamarin.Forms.Forms+AndroidPlatformServices.GetNativeSize (Xamarin.Forms.VisualElement view, System.Double widthConstraint, System.Double heightConstraint) [0x00000] in <039dc6f9f40c4a668399f93931013d38>:0
at Xamarin.Forms.VisualElement.OnSizeRequest (System.Double widthConstraint, System.Double heightConstraint) <0x7f6ed89270 + 0x00117> in <8e9ab226c9a54dbdb9366a1fb41e66e3>:0
at Xamarin.Forms.Image.OnSizeRequest (System.Double widthConstraint, System.Double heightConstraint) <0x7f6ed5eb10 + 0x00053> in <8e9ab226c9a54dbdb9366a1fb41e66e3>:0
at Xamarin.Forms.VisualElement.OnMeasure (System.Double widthConstraint, System.Double heightConstraint) <0x7f6ed891d0 + 0x0004f> in <8e9ab226c9a54dbdb9366a1fb41e66e3>:0
at Xamarin.Forms.VisualElement.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint) <0x7f6ed885b0 + 0x0026b> in <8e9ab226c9a54dbdb9366a1fb41e66e3>:0
at Xamarin.Forms.VisualElement.Measure (System.Double widthConstraint, System.Double heightConstraint, Xamarin.Forms.MeasureFlags flags) <0x7f6ed88c30 + 0x0024b> in <8e9ab226c9a54dbdb9366a1fb41e66e3>:0
at Xamarin.Forms.StackLayout.CalculateNaiveLayout (Xamarin.Forms.StackLayout+LayoutInformation layout, Xamarin.Forms.StackOrientation orientation, System.Double x, System.Double y, System.Double widthConstraint, System.Double heightConstraint) <0x7f6ed7f060 + 0x00707> in <8e9ab226c9a54dbdb9366a1fb41e66e3>:0
at Xamarin.Forms.StackLayout.CalculateLayout (Xamarin.Forms.StackLayout+LayoutInformation layout, System.Double x, System.Double y, System.Double widthConstraint, System.Double heightConstraint, System.Boolean processExpanders) <0x7f6ed7ee50 + 0x0019f> in <8e9ab226c9a54dbdb9366a1fb41e66e3>:0
at Xamarin.Forms.StackLayout.LayoutChildren (System.Double x, System.Double y, System.Double width, System.Double height) <0x7f6ed7e7a0 + 0x000ff> in <8e9ab226c9a54dbdb9366a1fb41e66e3>:0
at Xamarin.Forms.Layout.UpdateChildrenLayout () <0x7f6ed64720 + 0x005bb> in <8e9ab226c9a54dbdb9366a1fb41e66e3>:0
at Xamarin.Forms.Layout.OnSizeAllocated (System.Double width, System.Double height) <0x7f6ed646b0 + 0x0003b> in <8e9ab226c9a54dbdb9366a1fb41e66e3>:0
at Xamarin.Forms.VisualElement.SizeAllocated (System.Double width, System.Double height) <0x7f6ed893c0 + 0x00047> in <8e9ab226c9a54dbdb9366a1fb41e66e3>:0
at Xamarin.Forms.Layout.ResolveLayoutChanges () [0x0005c] in <8e9ab226c9a54dbdb9366a1fb41e66e3>:0
at Java.Lang.Thread+RunnableImplementor.Run () <0x7f6ec0a9d0 + 0x0004b> in <8902c450aa9d4f2a859f59e50ac058e8>:0
at Java.Lang.IRunnableInvoker.n_Run (System.IntPtr jnienv, System.IntPtr native__this) [0x00009] in <8902c450aa9d4f2a859f59e50ac058e8>:0
at (wrapper dynamic-method) Android.Runtime.DynamicMethodNameCounter.78(intptr,intptr)
--- End of inner exception stack trace ---
При отправке файла итем на время исчезает
Не сохраняются пользователи после редактирования
Я вбил твой ID с ошибкой. Отредактировать смог, и оно работает, но когда выхожу из программы и захожу обратно, то он снова старый. Но если после этого добавить ещё юзера, то норм. Видимо, по событию редактирования данные не отсылаются на сервер
Upload System.Net.Http.HttpRequestException
Application: FastFileSend.WPF.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.Net.Http.HttpRequestException
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)
at FastFileSend.Main.ApiServer+<Upload>d__24.MoveNext()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)
at FastFileSend.Program.FastFileSendProgram+<SendFile>d__17.MoveNext()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)
at FastFileSend.Program.FastFileSendProgram+<Send>d__16.MoveNext()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)
at FastFileSend.WPF.MainWindow+<ButtonSend_Click>d__5.MoveNext()
at System.Runtime.CompilerServices.AsyncMethodBuilderCore+<>c.<ThrowAsync>b__6_0(System.Object)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
at System.Windows.Threading.DispatcherOperation.InvokeImpl()
at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(System.Object)
at MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(System.Object)
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
at MS.Internal.CulturePreservingExecutionContext.Run(MS.Internal.CulturePreservingExecutionContext, System.Threading.ContextCallback, System.Object)
at System.Windows.Threading.DispatcherOperation.Invoke()
at System.Windows.Threading.Dispatcher.ProcessQueue()
at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
at MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32)
at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr)
at MS.Win32.UnsafeNativeMethods.DispatchMessage(System.Windows.Interop.MSG ByRef)
at System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame)
at System.Windows.Threading.Dispatcher.PushFrame(System.Windows.Threading.DispatcherFrame)
at System.Windows.Application.RunDispatcher(System.Object)
at System.Windows.Application.RunInternal(System.Windows.Window)
at System.Windows.Application.Run(System.Windows.Window)
at FastFileSend.WPF.App.Main()
Хранить API для загрузки на своём сервере
Программа обращается сначала к своему серверу, получает оттуда ссылки загрузки и уже по ним загружает файл.
Плюсы:
- При смене API не нужно будет пересобирать приложения для компьютера, телефона, веба и рассылать его всем подряд.
- Если программой пользуется человек, который не дружит с техникой, то тебе не нужно объяснять ему как скачать и обновить программу. На компьютере можно сделать автообновление, а если это телефон?
- В теории, с таким походом можно хранить файлы на любом файлообменнике. Не то, чтобы это было нужно, но мало ли.
Автоматический размер колонок
В поле ввода ID вписывать только цифры
Добавлять пользователей от которых принят файл
System.Net.Http.HttpRequestException
Приложение: FastFileSend.WPF.exe
Версия платформы: v4.0.30319
Описание. Процесс был завершен из-за необработанного исключения.
Сведения об исключении: System.Net.Http.HttpRequestException
в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)
в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)
в System.Runtime.CompilerServices.TaskAwaiter`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].GetResult()
в FastFileSend.Main.FileDownloader+<DownloadAsync>d__16.MoveNext()
в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)
в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)
в System.Runtime.CompilerServices.TaskAwaiter.GetResult()
в FastFileSend.Program.FastFileSendProgram+<List_CollectionChanged>d__13.MoveNext()
в System.Runtime.CompilerServices.AsyncMethodBuilderCore+<>c.<ThrowAsync>b__6_0(System.Object)
в System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
в System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
в System.Windows.Threading.DispatcherOperation.InvokeImpl()
в System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(System.Object)
в MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(System.Object)
в System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
в System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
в System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
в MS.Internal.CulturePreservingExecutionContext.Run(MS.Internal.CulturePreservingExecutionContext, System.Threading.ContextCallback, System.Object)
в System.Windows.Threading.DispatcherOperation.Invoke()
в System.Windows.Threading.Dispatcher.ProcessQueue()
в System.Windows.Threading.Dispatcher.WndProcHook(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
в MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
в MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)
в System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
в System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
в System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32)
в MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr)
в MS.Win32.UnsafeNativeMethods.DispatchMessage(System.Windows.Interop.MSG ByRef)
в System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame)
в System.Windows.Threading.Dispatcher.PushFrame(System.Windows.Threading.DispatcherFrame)
в System.Windows.Application.RunDispatcher(System.Object)
в System.Windows.Application.RunInternal(System.Windows.Window)
в System.Windows.Application.Run(System.Windows.Window)
в System.Windows.Application.Run()
в FastFileSend.WPF.App.Main()
Настраиваемые папки загрузок
- Выбор папки для загрузки файлов
- Выбор папок для отдельных пользователей (например, чтобы от всех приходило в одну папку, а от кого-то конкретного в другую)
- Как вариант, сортировка файлов по типам. Например, я бы сделал так, чтобы все файлы скидывались в одно место, а если отправляешь целые папки, то они сохранялись в другое место. Потому что если отсортировать папку по даже изменения, но новые файлы будут в самом начале, а принятые папки постоянно будут появляться в самом низу папки и нужно будет вручную листать туда. Но это если будет возможность отправлять папки.
PrepareUploadLink 400 (Bad Request: invalid header value).'
Добавить столбик даты
Встроить FFS в системный список программ для отправки
Авто скрытие бокового меню и убирание фокуса с «Send» после выбора пункта
Возможность делать своё устройство публичным
Будет сгенерирована публичная ссылка, куда можно загружать файлы, только при обычной работе программы файл загружается в хранилище и скачивается у другого пользователя, а тут файл загружается в хранилище и ссылка на его скачивание отображается на публичной странице, которую можно отправить кому-нибудь. Опционально можно сделать загрузку файлов на этой странице, тогда всё скинутое в браузер будет автоматически принято владельцем страницы.
Если честно, я не уверен насчёт этой идеи, нужна ли она вообще. Ведь если нужно кому-то отправить файл, у кого нет программы, то можно просто отправить ему прямую ссылку загрузки, а если кто-то хочет загрузить тебе, то он просто загрузит файл напрямую на fex
Падает при попытке скачать скурим
Application: FastFileSend.WPF.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.Threading.Tasks.TaskCanceledException
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)
at FastFileSend.Main.FileDownloader+<DownloadAsync>d__16.MoveNext()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)
at FastFileSend.Program.FastFileSendProgram+<List_CollectionChanged>d__14.MoveNext()
at System.Runtime.CompilerServices.AsyncMethodBuilderCore+<>c.<ThrowAsync>b__6_0(System.Object)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
at System.Windows.Threading.DispatcherOperation.InvokeImpl()
at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(System.Object)
at MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(System.Object)
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
at MS.Internal.CulturePreservingExecutionContext.Run(MS.Internal.CulturePreservingExecutionContext, System.Threading.ContextCallback, System.Object)
at System.Windows.Threading.DispatcherOperation.Invoke()
at System.Windows.Threading.Dispatcher.ProcessQueue()
at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
at MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32)
at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr)
at MS.Internal.AppModel.IFileDialog.Show(IntPtr)
at Microsoft.Win32.FileDialog.RunVistaDialog(IntPtr)
at Microsoft.Win32.FileDialog.RunDialog(IntPtr)
at Microsoft.Win32.CommonDialog.ShowDialog()
at FastFileSend.WPF.FastFileSendProgramWindows+<SelectFileAsync>d__0.MoveNext()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)
at FastFileSend.Program.FastFileSendProgram+<Send>d__17.MoveNext()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)
at FastFileSend.WPF.MainWindow+<ButtonSend_Click>d__5.MoveNext()
at System.Runtime.CompilerServices.AsyncMethodBuilderCore+<>c.<ThrowAsync>b__6_0(System.Object)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
at System.Windows.Threading.DispatcherOperation.InvokeImpl()
at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(System.Object)
at MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(System.Object)
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
at MS.Internal.CulturePreservingExecutionContext.Run(MS.Internal.CulturePreservingExecutionContext, System.Threading.ContextCallback, System.Object)
at System.Windows.Threading.DispatcherOperation.Invoke()
at System.Windows.Threading.Dispatcher.ProcessQueue()
at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
at MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32)
at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr)
at MS.Win32.UnsafeNativeMethods.DispatchMessage(System.Windows.Interop.MSG ByRef)
at System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame)
at System.Windows.Threading.Dispatcher.PushFrame(System.Windows.Threading.DispatcherFrame)
at System.Windows.Application.RunDispatcher(System.Object)
at System.Windows.Application.RunInternal(System.Windows.Window)
at System.Windows.Application.Run(System.Windows.Window)
at FastFileSend.WPF.App.Main()
Вылет при попытке отправить файл, который занят системой
В принципе, это нормальное явление, но хотелось бы, чтобы был не вылет, а просто какое-нибудь сообщение о том, что файл занят
Application: FastFileSend.WPF.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.IO.IOException
at System.IO.__Error.WinIOError(Int32, System.String)
at System.IO.FileStream.Init(System.String, System.IO.FileMode, System.IO.FileAccess, Int32, Boolean, System.IO.FileShare, Int32, System.IO.FileOptions, SECURITY_ATTRIBUTES, System.String, Boolean, Boolean, Boolean)
at System.IO.FileStream..ctor(System.String, System.IO.FileMode, System.IO.FileAccess, System.IO.FileShare, Int32, System.IO.FileOptions, System.String, Boolean)
at System.IO.FileStream..ctor(System.String, System.IO.FileMode)
at FastFileSend.Program.FastFileSendProgram.HistoryModelAdd(System.String, FastFileSend.UI.UserModel)
at FastFileSend.Program.FastFileSendProgram+<Send>d__17.MoveNext()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)
at FastFileSend.WPF.MainWindow+<ButtonSend_Click>d__5.MoveNext()
at System.Runtime.CompilerServices.AsyncMethodBuilderCore+<>c.<ThrowAsync>b__6_0(System.Object)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
at System.Windows.Threading.DispatcherOperation.InvokeImpl()
at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(System.Object)
at MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(System.Object)
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
at MS.Internal.CulturePreservingExecutionContext.Run(MS.Internal.CulturePreservingExecutionContext, System.Threading.ContextCallback, System.Object)
at System.Windows.Threading.DispatcherOperation.Invoke()
at System.Windows.Threading.Dispatcher.ProcessQueue()
at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
at MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32)
at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr)
at MS.Win32.UnsafeNativeMethods.DispatchMessage(System.Windows.Interop.MSG ByRef)
at System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame)
at System.Windows.Threading.Dispatcher.PushFrame(System.Windows.Threading.DispatcherFrame)
at System.Windows.Application.RunDispatcher(System.Object)
at System.Windows.Application.RunInternal(System.Windows.Window)
at System.Windows.Application.Run(System.Windows.Window)
at FastFileSend.WPF.App.Main()
Наброски концептов дизайнов только для вам
System.Net.Http.HttpRequestException
Сведения об исключении: System.Net.Http.HttpRequestException
в System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()
в FastFileSend.Main.ApiServer+<SendQuery>d__23`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].MoveNext()
в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)
в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)
в FastFileSend.Main.ApiServer+<NotifyOnline>d__27.MoveNext()
в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)
в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)
в FastFileSend.Main.ApiServer+<TimerHeartbeat_Elapsed>d__25.MoveNext()
в System.Runtime.CompilerServices.AsyncMethodBuilderCore+<>c.<ThrowAsync>b__6_0(System.Object)
в System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
в System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
в System.Windows.Threading.DispatcherOperation.InvokeImpl()
в System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(System.Object)
в MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(System.Object)
в System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
в System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
в System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
в MS.Internal.CulturePreservingExecutionContext.Run(MS.Internal.CulturePreservingExecutionContext, System.Threading.ContextCallback, System.Object)
в System.Windows.Threading.DispatcherOperation.Invoke()
в System.Windows.Threading.Dispatcher.ProcessQueue()
в System.Windows.Threading.Dispatcher.WndProcHook(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
в MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
в MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)
в System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
в System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
в System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32)
в MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr)
в MS.Win32.UnsafeNativeMethods.DispatchMessage(System.Windows.Interop.MSG ByRef)
в System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame)
в System.Windows.Threading.Dispatcher.PushFrame(System.Windows.Threading.DispatcherFrame)
в System.Windows.Application.RunDispatcher(System.Object)
в System.Windows.Application.RunInternal(System.Windows.Window)
в System.Windows.Application.Run(System.Windows.Window)
в FastFileSend.WPF.App.Main()
Добавить даты, сортировать по ним и показывать файлы за последнюю неделю
Если нажать «назад» в окне добавления пользователя, то добавляется пустой
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.