전체 글7 t // Program.cs — app.UseAntiforgery() 보다 앞에app.Use(async (ctx, next) =>{ if (HttpMethods.IsPost(ctx.Request.Method) && !ctx.Request.Path.StartsWithSegments("/api") // POST가 필요한 경로는 제외 && !(ctx.Request.HasFormContentType && (await ctx.Request.ReadFormAsync()).ContainsKey("_handler"))) { ctx.Request.Method = HttpMethods.Get; } await next();});app.UseAn.. 2026. 10. 12. claude 세션(circuit)이 사라져서 생기는 현상일 가능성이 큽니다. MudBlazor를 쓰시니 Interactive Server 모드일 텐데, 이 모드에서는 조회한 데이터가 **서버 메모리의 circuit**에 들어 있습니다. 연결이 끊긴 뒤 재연결하려 할 때 그 circuit이 이미 없으면 Blazor가 페이지를 새로 로드합니다. 그래서 조회 결과가 날아갑니다.## circuit이 사라지는 흔한 원인 (서버 3대 + L4 + IIS 기준)1. **L4 세션 유지(스티키) 미설정**: 재연결 요청이 다른 서버로 가면 그 서버에는 circuit이 없어서 재연결이 거부되고 새로고침됩니다.2. **L4 idle timeout**: 오래 유지되는 WebSocket 연결을 L4가 끊어버리는 경우입니다.3. **브라우.. 2026. 9. 21. chapgpt 8s 동안 처리함지금 증상이라면 가장 먼저 L4의 Sticky Session(세션 고정)과 IIS App Pool 설정을 보시는 게 맞습니다.Blazor의 Interactive Server 방식은 사용자가 조회한 화면 상태, 컴포넌트 필드, Scoped 서비스 상태 등을 서버의 Circuit 메모리에 들고 있습니다. 따라서 처음 연결된 서버가 WEB01인데 잠시 후 재연결할 때 L4가 WEB02로 보내버리면 기존 Circuit이 없어서 새 Circuit이 만들어지고, 결과적으로 처음 화면처럼 다시 로딩되면서 조회 데이터가 사라질 수 있습니다. Microsoft도 서버 팜에서 Blazor/SignalR을 사용할 경우 일반적으로 **session affinity(sticky session)**가 필요하다고 .. 2026. 9. 21. t 원인은 `sheet-pointer-input.js`의 `onPointerDown`이 `closest('.bds-sheet-cell')`를 못 찾으면 `if (!args) return`으로 .NET 호출 자체를 안 하기 때문입니다. 즉 no-data 영역 우클릭은 **PointerDown이 아예 안 들어오고, 직전 헤더 클릭 값이 그대로 남아있어서** 메뉴에 계속 보입니다.## 수정 — `Datasheet.razor.cs` 3군데```csharpprivate bool _pointerHitCell;private void HandleCellMouseDown(object? sender, SheetPointerEventArgs args){ _pointerHitCell = true; // ← .. 2026. 9. 17. 이전 1 2 다음