英文:
Blazor @OnClick on MacOS .net 6+
问题
我已部署了我的Blazor应用程序在.NET 6上(也尝试了7.0),部署在一个Web服务器上。
这是一个非常简单的应用程序,只有一个InputFile和一个Button。
当我上传一个文件后,之后无法使用任何按钮。
看起来在iOS上的文件对话框中断了单页应用程序的生命周期,有没有恢复它的方法?
英文:
I have deployed my Blazor App .Net6 (tried 7.0 too) on a Webserver.
This is a very simple app with One InputFile, and One Button.
When I upload a file, I can use any buttons afteward.
It Looks like the file dialog on Ios breaks the single page app lifecycle, is there a way to restore it?
答案1
得分: 1
所以,这与事件无关,而与我使用的流的处理有关。
确保绝对关闭和处理来自inputfile事件的任何流。否则,所有事件都将被冻结。
良好处理:
Buffer = new byte[file.Size];
using (var Stream = file.OpenReadStream())
{
await Stream.ReadAsync(Buffer);
}
糟糕的处理将禁用所有按钮。
await file.OpenReadStream().ReadAsync(Buffer);
英文:
So, It has nothing to do with events, and all with the handling of the stream I used.
Make absolutly sure that you close and dispose any stream from the inputfile event. Otherwise all events will be frozen.
GOOD Handling :
Buffer = new byte[file.Size];
using (var Stream = file.OpenReadStream())
{
await Stream.ReadAsync(Buffer);
}
BAD Handling this will DISABLE all buttons.
await file.OpenReadStream().ReadAsync(Buffer);
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论