BlazorServerSide-编辑页面时的会话(同一时间只有一个人可以访问)
创始人
2024-12-21 15:30:23
0
  1. 首先,为了实现此功能,我们需要使用Blazor Server Side。在Project中启动ASP.NET Core Web服务器。
  2. 添加SessionStateMiddleware到Startup.cs。SessionStateMiddleware可以管理所有Blazor Server Side实例的会话状态。
public class Startup
{
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddServerSideBlazor();
    }

    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        app.UseSessionStateMiddleware();
        app.UseStaticFiles();

        app.UseRouting();
        app.UseEndpoints(endpoints =>
        {
            endpoints.MapBlazorHub();
            endpoints.MapFallbackToPage("/_Host");
        });
    }
}
  1. 注入ISessionService到页面组件中并在ComponentBase OnInitialized方法中设置页面可编辑标志。选定标志的key是当前编辑的页面标识符
@inject ISessionService SessionService

@code {
    protected override async Task OnInitializedAsync()
    {
        var pageId = "page1";
        var isPageEditable = await SessionService.GetOrNullAsync(pageId);
        if (!isPageEditable.HasValue || !isPageEditable.Value)
        {
            await SessionService.SetAsync(pageId, true);
        }
        else
        {
            // don't allow to edit if already being edited
        }
    }
}
  1. 客户端动态设置isPageEditable标志。标志的值根据页面的状态进行更改,以指示页面是否正在被编辑或已完成编辑。
@inject ISessionService sessionService

@code {
    private bool isPageEditable;

    protected override async Task OnInitializedAsync()
    {
        var pageId = "page1";
        isPageEditable = await sessionService.GetOrCreateAsync(pageId, false);
    }

    private async Task TogglePageEditable()
    {
        // if page is not editable
        if (!isPageEditable)
        {
            await sessionService.SetAsync("page1", true);
        }
        // if page is already being edited by another user
        else if (

相关内容

热门资讯

总算明白“德州局脚本”开挂(透... 总算明白“德州局脚本”开挂(透视)辅助安装(透明教程有挂分享);无需打开直接搜索加(薇:136704...
开挂辅助!对战互娱辅助系统,拱... 开挂辅助!对战互娱辅助系统,拱趴大菠萝十三水辅助(透视)开挂辅助安装(有挂猫腻);AI辅助机器人普及...
开挂辅助工具"德州透... 较多好评“微乐万能挂官网”开挂(透视)辅助教程 了解更多开挂安装加(136704302)微信号是一款...
透视教程“aapoker透视方... 透视教程“aapoker透视方法”开挂(透视)辅助下载(揭秘教程有挂功能) >>您好:软件加薇136...
开挂辅助神器"wep... 您好:这款wepoker免费脚本弱密码游戏是可以开挂的,确实是有挂的,很多玩家在这款wepoker免...
辅助开挂!赣州冲关辅助,hh ... 辅助开挂!赣州冲关辅助,hh poker软件(透视)开挂辅助软件(新版有挂);1、超多福利:超高返利...
我来教教你“aapoker透视... 我来教教你“aapoker透视方法”开挂(透视)辅助软件(曝光教程证实有挂);打开点击测试直接进入微...
开挂辅助!宁夏欢乐划水辅助,w... 开挂辅助!宁夏欢乐划水辅助,wepoker私人局俱乐部辅助(透视)开挂辅助安装(有挂助手);人气非常...
开挂辅助插件"wep... wepoker破解器激活码是一款可以让一直输的玩家,快速成为一个“必胜”的ai辅助神器,有需要的用户...
带你了解“wpk系统是否存在辅... 带你了解“wpk系统是否存在辅助行为”开挂(透视)辅助平台(2026版教程有挂秘诀)1、下载安装好,...