• Hotline: 0989.000.420
  • Giới thiệu
  • Vai trò pn
  • Facbook hội pn
  • Sitemap
SỬA CHỮA ĐỘNG CƠ ĐIỆN YÊN BÁI

Vĩnh Kiên- Yên Bình- Yên Bái 0989 000 420- 038 540 7810

  • Trang chủ
  • Giới thiệu
    • Giới thiệu chung
    • Chức năng nhiệm vụ
    • Cơ cấu tổ chức
    • Các phòng chức năng nghiệp vụ
      • Văn phòng Ban QLDA Đầu tư xây dựng
      • Phòng Tài chính - Kế toán
      • Phòng Kế hoạch tổng hợp
      • Phòng Kỹ thuật - Thẩm định
      • Phòng Điều hành - Dự án
  • Thiết bị điện
  • Hệ thống DCS
    • Thiết kế tủ điện
    • Lập trình PLC
    • Giao diện DCS
    • Chuyển đối số
    • Modbus
    • Hệ thống rơ le bảo vệ
    • Lưới điện
  • Truyền thông công nghiệp
  • Config IEC104 , 61850
    • RS485
    • IEC104
    • IEC61850
    • Vòng quay may mắn
  • Máy điện
  • Góp ý
  • Liên hệ
Học Học Nữa - Học Mãi
Liên hệ quảng cáo
  • Trang chủ
  • C#

giới hạn alarm 32kb

Bởi Operator vào 05 thg 11, 2026
Chia sẻ
  • Sao chép liên kết
  • Chia sẻ với Facebook
  • Chia sẻ với X
  • Chia sẻ với Pinterest
  • Chia sẻ với Linkedin
  • Gửi bài qua Email

gửi email cho tác giả




      Tôi sẽ xem file CSV và code widget trong zip trước.

    Không phải do khoảng trắng. Code widget đọc file CSV của bạn đúng, đủ 1184 tag.

    Đã kiểm tra:

    • File CSV hợp lệ: UTF-8 có BOM, xuống dòng CRLF, header Tag, mỗi dòng 1 tag, không có dấu , ; " nào trong tên tag.
    • 43 dòng có khoảng trắng thừa ở cuối (ví dụ ...GCB drawer ). Hàm .trim() trong code đã cắt hết, và tên tag có khoảng trắng ở giữa vẫn giữ nguyên. BOM và dòng header Tag cũng được bỏ đúng.
    • Tôi chạy thử đúng hàm csvRows + splitCsv của widget.js trên file này: ra 1184 tag, không trùng.

    Nên lỗi nằm ở bước sau parse. Widget gọi editTags(s, 'add', rows), rồi s.ctx.editList('tags','add',list) gửi cả 1184 tag (~47.000 ký tự) trong một lần lên server. Mã phía server (Blazor, editList) không nằm trong zip nên tôi không kiểm chứng được. Các nghi vấn, xếp theo khả năng:

    1. Server giới hạn kích thước hoặc từ chối request lớn. Tag lưu trong prop tags dạng text, nên một lần ghi 47KB rất dễ vượt giới hạn. Khi đó editList trả null và widget chỉ hiện dòng nhỏ “Không lưu được lên hệ thống” ở .pb-tm. Thông báo này nằm ngay dưới hàng nút, rất dễ bỏ sót.
    2. Thiếu quyền điều khiển. Nếu canWrite = false, nút Nhập CSV và nút + bị disable. Ảnh của bạn thì nút trông vẫn bình thường.
    3. Server chưa cập nhật. Nếu không có editList, tag chỉ lưu tạm vào localStorage của trình duyệt. Quota localStorage thường đủ cho 47KB, nên khả năng này thấp.

    Ảnh của bạn cũng cho thấy Tags (1), tức chưa tag nào được thêm.

    Cách xác định nhanh:

    • Nhấn F12, mở tab Console và Network, bấm Nhập CSV lại, rồi xem request lên server trả mã gì (413, 400, 500...). Gửi mình mã lỗi hoặc dòng chữ hiện dưới hàng nút.
    • Thử file CSV nhỏ (5 dòng đầu). Nếu nhập được thì chắc chắn là lỗi giới hạn kích thước.

    Cách sửa: nên tách danh sách thành các lô khoảng 100 tag mỗi lần gửi. Việc này sửa ngay trong widget.js, ở handler .pb-tf (dòng ~191), không cần đụng server. Ngoài ra nên hiển thị lỗi rõ hơn và báo tiến trình kiểu “Đã thêm 300/1184...”. Bạn muốn mình sửa và gửi lại bản zip v2.2.2 không?ôi đã tìm ra nguyên nhân trong code gốc. Khoảng trắng không liên quan, lỗi nằm ở giới hạn kích thước message của Blazor Server.

    Chuỗi xử lý:

    1. widget.js parse đúng 1184 tag, rồi gọi ctx.editList('tags','add', list).
    2. plug.js:68 gọi invokeMethodAsync('EditList', ..., items) qua SignalR, gửi cả 1184 tag trong một message (~47 KB nội dung, cộng thêm phần JSON bao quanh).
    3. Program.cs:47 chỉ có AddRazorComponents().AddInteractiveServerComponents(), không cấu hình HubOptions. Blazor Server mặc định MaximumReceiveMessageSize = 32 KB, nên server từ chối message này.
    4. plug.js có .catch(() => null) nên lỗi bị nuốt, widget chỉ hiện dòng “Không lưu được lên hệ thống” rất nhỏ. Tag không được thêm, Tags (1) giữ nguyên, đúng như ảnh của bạn.

    Phần EditList ở server (PluginBox.razor) thì ổn: trim từng tag, bỏ trùng, giới hạn 50.000 tag. Phần này không liên quan đến lỗi.

    Cách sửa (nên làm cả hai):

    1. Server: nâng giới hạn, sửa Program.cs dòng 47:

    csharp
    b.Services.AddRazorComponents()
        .AddInteractiveServerComponents()
        .AddHubOptions(o => o.MaximumReceiveMessageSize = 8 * 1024 * 1024);

    Với mục tiêu 100k tag thì 8 MB là đủ (100k tag ≈ 4 MB).

    2. Widget: chia lô khi nhập CSV, để chạy được cả trên server chưa nâng giới hạn. Ví dụ 300 tag mỗi lô, gửi tuần tự, hiện tiến trình “Đã thêm 300/1184...”. Trong handler .pb-tf của widget.js (dòng ~189).

    Một điểm nên kiểm tra thêm: 43 dòng trong CSV có khoảng trắng thừa ở cuối, ví dụ ...GCB drawer . Widget luôn trim() tag khi thêm và khi lọc alarm. Nếu tên tag thật trong project cũng có khoảng trắng cuối, alarm của các tag đó sẽ không khớp. Bạn nên xem tên tag thật trong project, hoặc chỉnh lại file CSV nguồn.

    Bạn muốn mình sửa luôn hai chỗ trên và gửi lại widget.js (v2.2.2) cùng bản vá Program.cs không?Tùy bạn có chia lô ở widget hay không:

    Cách làmGiới hạn nên đặt
    Có chia lô (300 tag mỗi lần, ~12-15 KB/lần)128 KB là thừa, 256 KB cho thoải mái
    Không chia lô (gửi cả file một lần)8 MB (8 × 1024 × 1024)

    Cách tính: file của bạn có 1184 tag ≈ 47 KB, trung bình ~40 byte/tag. Với mục tiêu 100k tag thì 100.000 × 40 ≈ 4 MB. Server cho phép tối đa 50.000 tag trong EditList, tức khoảng 2-4 MB. Đặt 8 MB là gấp đôi mức xấu nhất, nên đủ chỗ.

    Khuyến nghị: chia lô ở widget và đặt giới hạn server là 1 MB:

    csharp
    .AddHubOptions(o => o.MaximumReceiveMessageSize = 1024 * 1024);

    Nhập 100k tag sẽ thành ~330 lô, mỗi lô một lần E.Save(). Việc này chậm hơn một chút nhưng ổn định. Nếu muốn nhập một lần cho nhanh thì dùng 8 MB, không cần chia lô.

    Đừng đặt quá lớn (ví dụ 100 MB). Giới hạn này chặn một client gửi message khổng lồ làm tốn RAM server, và nó áp dụng cho mọi message SignalR của app, không riêng widget này. 1-8 MB là vừa đủ cho SCADA.

    Bạn chọn cách nào để mình viết code luôn?

    Mình đã sửa xong cả hai chỗ, giới hạn server đặt 256 KB như bạn muốn.

    1. Program.cs: dòng 47 giờ là:

    csharp
    b.Services.AddRazorComponents().AddInteractiveServerComponents()
        .AddHubOptions(o => o.MaximumReceiveMessageSize = 256 * 1024);

    Mình chỉ đổi đúng dòng này, các phần khác giữ nguyên. Bạn cần build lại và restart server.

    2. alarm_tags_v2_2_2.zip (widget.js / widget.css / widget.json, phiên bản 2.2.2):

    • Nhập CSV chia lô 300 tag mỗi lần (~14 KB), thấp hơn nhiều so với 256 KB.
    • Có tiến trình “Đang nhập CSV... 600/1184”.
    • Nếu lỗi giữa chừng, widget báo “chỉ nhập được X/Y tag”. Bấm nhập lại thì các tag đã có tự bị bỏ qua và tiếp tục phần còn lại.
    • Danh sách ≤ 300 tag hoặc server chưa có editList vẫn đi đường cũ như trước.

    Mình đã chạy thử trên file thật của bạn, kết quả là 4 lần gọi server (300 + 300 + 300 + 284 tag), mỗi lần tối đa ~13,8 KB, thông báo “Đã thêm 1184 tag từ CSV”. Mình chưa build được Program.cs vì không có .NET SDK ở đây. Dòng AddHubOptions đó chuẩn cho .NET 8 trở lên, nếu build báo lỗi bạn gửi lại thông báo để mình xem.

    Bạn nhớ kiểm tra thêm vụ 43 dòng có khoảng trắng thừa ở cuối tên tag so với tên tag thật trong project, vì widget luôn trim() tên tag.

    Nội dung chính
      0 Nhận xét
      Tags: C#

      Cùng chuyên mục

      Liên hệ quảng cáo

      Tin mới

        Liên hệ (Contact)

        Tên

        Email *

        Thông báo *

        Tìm kiếm (SEARCH)

        Main Tags

        • ADROID
        • Affiliate + Dropshipping
        • AGC
        • AI
        • analog
        • Apk adroid
        • ASP.NET
        • âm nhạc
        • Âm thanh
        • Âm Thanh Xe Hơi
        • bản đồ địa chính
        • Bản tin xã Vĩnh Kiên
        • Bảo dưỡng xe MG
        • bảo hiểm
        • Bảo vệ môi Trường
        • beckhoff
        • bể phốt
        • Bệnh
        • biến áp xung
        • Biến áp xuyến
        • Biến tần
        • Biến tần KDE300A
        • biến tần Schneider
        • Biến tần Simens
        • biến tần yaskawa
        • blogspot
        • bộ hòa
        • bồn cầu
        • C#
        • C# thiết bị phụ
        • C# web
        • C53 realme
        • các nhà phân phối
        • cad electrical 2019
        • cải tạo
        • cài win
        • camera
        • Chào mừng 8/3
        • Chat gpt
        • Chăm sóc sắc đẹp
        • chế tạo biến tần
        • Chi Bộ
        • Chi Đoàn
        • chỉ huy trưởng
        • chìa
        • Chìa khóa thành công
        • chung tay
        • chuyển đổi số
        • chuyên gia
        • CODE WIN CC
        • CODESYS
        • com ảo
        • Công Đoàn
        • công tác hội
        • Cơ điện tử
        • cp1243-7
        • Crack tia
        • dao diện tia
        • Dạy con ngoan giỏi
        • Dạy con thông minh
        • Dây điện từ
        • DCS
        • Dịch vụ
        • driver
        • Dso138
        • Dự án
        • Đảng - Đoàn thể
        • Đánh bóng ô tô
        • Đào tạo nghề
        • Đào tạo vận hành
        • đẩu tư Bất động sản
        • đầu tư tài chính
        • Điện
        • Điện trở
        • Điện tử công suất
        • điện tường
        • điều khiển nhiệt độ
        • điều tốc
        • điều tốc EVN
        • Đồ điện sửa chữa
        • Động cơ điện 1 pha
        • Động cơ điện 3 pha
        • Động cơ mua bán
        • động cơ vạn năng
        • đục tường
        • encoder
        • encore
        • Enigma Protector
        • Excel
        • Facebook
        • factory io
        • fasstAPI
        • faststone capture
        • fuxa
        • game đế chế
        • Gia Đình
        • Góc học tập và làm theo lời Bác
        • GOV
        • grafana
        • graphana
        • hàn nhiệt
        • hàn ống
        • Hantek 2c42
        • HIK
        • HMI
        • hmi delta
        • hmi simnes
        • HMI Wedcon
        • Học chức danh
        • học tiếng anh
        • Hội thi
        • IEC
        • IEC 104
        • iec61850
        • IGBT
        • INVT
        • karaoke
        • Kaspersky Internet Security
        • KEP OPC
        • kepopc
        • key win cc oa
        • Khí cụ điện
        • khởi động mềm
        • khởi nghiệp
        • Kích
        • Kích cá
        • km
        • làm đẹp
        • Làm kinh tế giỏi
        • Lập công ty
        • lập trình zen
        • Lịch làm việc
        • Lịch sự
        • liệt não
        • Link kiện điện tử
        • logo simens
        • Lỗi phạt ô tô
        • mạch âm thanh
        • Mạch băm xung
        • Mạch nguồn xung
        • mạch nồi cơm
        • mạng
        • Máy biến áp
        • máy cắt
        • máy giặt
        • máy hàn
        • máy hàn chip
        • máy hàn tig wp 300
        • Máy lọc dầu
        • Máy phát điện
        • Máy phát điện xăng
        • máy tính
        • MG zs
        • Microstation SE
        • mobus
        • MODBUS
        • Module phát âm thanh MP3 DY-SV5W
        • mqtt
        • mua ô tô
        • mường hum
        • My Music
        • nart port
        • nậm ban2
        • next.js
        • nhẫn nhịn
        • node js
        • Note js
        • Nông thôn mới
        • odoo
        • OPC
        • OPC DA
        • opc. matrikon
        • OpenVPN
        • ổn áp
        • pdf
        • phân loại rác
        • Phật dạy
        • phong trào
        • Pid
        • PLC
        • plc abb
        • plc delta
        • Plc emerson
        • plc GE
        • plc LS
        • Plc Mitsubishi
        • PLC Mitsubishi FX1N
        • plc s7 200
        • plc s71200
        • PLC Schneider
        • plc sim avanced
        • plc simens
        • python
        • quản trị tài chính
        • Rapid SCADA
        • Raspberry Pi
        • remote destrop
        • Rơ le bảo vệ
        • Rơ le CMC và studio PSL
        • S7 1200
        • S7 200
        • S7300
        • Sách
        • sách tổ tự động
        • sát hạch lái xe
        • SCR
        • secvo
        • SERVO
        • Sheet nhạc
        • Sim mới
        • sơ đồ bếp từ
        • sơn ô tô
        • SQL server
        • SSR
        • Step ĐC
        • Sửa chữa dc
        • sức khỏe
        • Sưu tầm
        • Tai biến
        • tài khoản Simens
        • Tài liệu kỹ thuật
        • Tailscale
        • Tâm lý
        • Teamviewer
        • tenten
        • thái độ
        • thay bo mạch
        • thay đổi góc nhìn
        • Thể thao
        • thi an toàn
        • Thi đua - Khen thưởng
        • thị trường điện
        • thingboard
        • thingsboard
        • Thông tin đấu thầu
        • Thông tin xử phạt
        • Thời sự
        • thời tiết
        • Thủ thuật máy tính
        • thủy điện
        • thyristor
        • TIA V13 SP2 pro
        • TIA V14
        • tia v15
        • Tia v16
        • Tia V17
        • tia V21
        • Tin tức - Sự kiện
        • tivi
        • touchpad-blocker
        • trạm phát thanh
        • TRIANGLE IEC
        • Trồng cây mừng Đảng mừng xuân 2024
        • tủ điện
        • Tủ lạnh
        • uctra_iso
        • Văn bản - Tài liệu
        • VBS
        • Video
        • Video động. Cơ điện
        • Video quấn động cơ điện
        • vmware
        • Vòng bi
        • vpn
        • Web
        • websever S7 1200
        • wifi
        • wincc
        • WinCC Unified
        • Wondershare Filmora
        • woodwoard
        • word
        • WPF
        • wwin cc
        • xây dựng
        • xây nhà tầng 2
        • xe 2025
        • xe ô tô
        • xem tuổi xây nhà
        • Xiaozhi
        • youtube
        • zenon
        • zoho mail

        Thời tiết hiện tại

        Chat hỗ trợ
        Chat ngay

        Lịch làm việc

          Thông báo

          • Nông thôn mới
          • Phong trào
          • Công tác hội
          • Chăm sóc sắc đẹp
          • Chuyển đổi số

          Đọc nhiều

          • Bán fe từ E I
            Bán fe từ E I 9
            17 thg 9, 2017

            Bán lõi thép silic chất lượng cao được nhập khẩu từ nhật. Ngoài ra chúng tôi cung cấp đủ gông từ, cốt nhựa đủ cho quý khách quấn máy biến áp...

          • link const TB_HOST = "http://IP_MAY_CHAY_THINGSBOARD:8080"; . cấu hình node js gửi đến thingboard
            link const TB_HOST = "http://IP_MAY_CHAY_THINGSBOARD:8080"; . cấu hình node js gửi đến thingboard
            03 thg 2, 2026

             À 👍 mình hiểu đúng chỗ bạn đang bị rối rồi . Giờ mình nói rõ ràng – tách bạch – nhìn là hiểu ngay nhé. 🚨 ĐIỂM SAI LỚN TRONG CODE BẠN ...

          • khởi nghiệp
            khởi nghiệp
            19 thg 12, 2025

              Với 8 năm kinh nghiệm và nền tảng chuyên môn cao, bạn đang bị kẹt trong cái bẫy "người thợ lành nghề làm chủ" . Bạn đang bán sức...

          • EPLAN Electric P8 - Hướng dẫn cài đặt - Full Crack (Electric P8, Pro Panel)
            EPLAN Electric P8 - Hướng dẫn cài đặt - Full Crack (Electric P8, Pro Panel)
            04 thg 1, 2021

              EPLAN Electric P8  cung cấp khả năng không giới hạn để thiết kế, phác thảo, phát triển tài liệu dự án và quản lý các dự án tự động hóa. Xâ...

          • truyền được qua mạng hệ thống
            truyền được qua mạng hệ thống
            26 thg 10, 2026

              So sánh khả năng truyền qua Internet của MQTT và Socket.IO Có, Socket.IO hoàn toàn có thể truyền qua mạng Internet (giống như MQTT), như...

          • Giải thích đúng theo hệ IEC 104
            Giải thích đúng theo hệ IEC 104
            13 thg 4, 2026

             Nhìn vào hình bạn gửi (mục Network settings → IP address trong Siemens OPM/Toolbox II), thì: 👉 172.29.98.82 là: 🔹 Own IP address (đ...

          Có thể bạn quan tâm

            Ban biên tập

            Thế Hương

            ........

            ...........

            Thống kê

            Số người truy cập: Tổng lượt truy cập:
            Liên hệ quảng cáo
            Trang chủ
            Hotline: 0989.000.420
            Liên hệ
            RSS
            Lên đầu trang

            Cơ điện Huế Hương - Yên Bình -Yên Bái

            Địa chỉ: Xã Vĩnh Kiên - Yên Bình - Yên Bái
            Email: vuhuong.tbc@gmail.com
            Liên hệ: 0989000420

            Template blogspot bán hàng và bất động sản