Blazor SignalR Basics: Real-Time Apps in C#
Explore Blazor Server and SignalR for building dynamic, real-time web applications with our comprehensive beginner-friendly guide.
");mask-image:url("data:image/svg+xml;utf8,");-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:cover;mask-size:cover;background:var(--color-text-white)}body .ascendoor-button.ascendoor-button-noborder-noalternate a{color:var(--primary-color);background:0 0;padding:0}body .ascendoor-button.ascendoor-button-noborder-noalternate a:before{display:none}body .ascendoor-button.ascendoor-button-noborder-noalternate a:after{background:var(--primary-color)}input[type=search]{color:#666;border:1px solid #ccc;border-radius:3px;padding:3px}.right-sidebar .ascendoor-wrapper .ascendoor-page{display:grid;grid-gap:30px;grid-template-columns:auto 25%;grid-template-areas:"main sidebar";padding-top:50px}@media (max-width:991px){.right-sidebar .ascendoor-wrapper .ascendoor-page{grid-template-columns:1fr;grid-template-areas:"main" "sidebar"}}.right-sidebar .ascendoor-wrapper .ascendoor-page .site-main{grid-area:main;overflow:hidden}.right-sidebar .ascendoor-wrapper .ascendoor-page .widget-area{grid-area:sidebar}.left-sidebar .ascendoor-wrapper .ascendoor-page .site-main{grid-area:main;overflow:hidden}.left-sidebar .ascendoor-wrapper .ascendoor-page .widget-area{grid-area:sidebar}.main-navigation{display:block;width:100%}.main-navigation ul{display:none;list-style:none;margin:0;padding-left:0}.main-navigation li{position:relative}.main-navigation a{color:#fff;padding:17px 20px;font-size:.9375rem;color:var(--text-color-main);text-transform:uppercase;display:block;text-decoration:none;opacity:.9}@media (min-width:992px){.main-navigation a{font-weight:700}}.menu-toggle{display:block}@media (max-width:991px){.main-navigation ul a{color:#000}}@media screen and (min-width:992px){.menu-toggle{display:none}.main-navigation ul{display:flex!important;flex-wrap:wrap;margin-inline-end:-20px;align-items:stretch}}@media (max-width:991px){.bottom-header-part-wrapper .navigation-part{align-items:center}#site-navigation button.menu-toggle{width:35px;height:35px;position:relative;transform:rotate(0deg);padding:0;background:0 0;border:none;margin:9px 5px 9px auto}#site-navigation button.menu-toggle span{display:block;position:absolute;height:3px;width:100%;background:var(--primary-color);border-radius:3px;opacity:1;left:0;transform:rotate(0deg)}#site-navigation button.menu-toggle span:nth-child(1){top:calc(50% - 15px)}#site-navigation button.menu-toggle span:nth-child(2){top:50%;transform:translateY(-50%)}#site-navigation button.menu-toggle span:nth-child(3){bottom:calc(50% - 15px)}#site-navigation .main-navigation-links{position:fixed;right:-130%;height:100%;top:0;background-color:#fff;min-width:300px;padding-top:60px;padding-right:10px;width:60%;display:block;border-right:1px solid #fff;z-index:13;box-shadow:2px 0 18px 0 rgba(0,0,0,.5);opacity:0;visibility:hidden}}@media (max-width:600px){#site-navigation button.menu-toggle{margin:0;margin-inline-end:auto}}@media (max-width:480px){#site-navigation .main-navigation-links{width:80%}}.post{margin:0 0 1.7em}.updated:not(.published){display:none}.site-main article{margin-bottom:2.5rem}.site-main article .post-thumbnail{display:block;line-height:0}.site-main article .post-thumbnail img{width:100%}.travel-post-single .travel-post-img{overflow:hidden;aspect-ratio:1/0.7}.travel-post-single .travel-post-img a{display:block;height:100%}.travel-post-single .travel-post-img a img{height:100%;width:100%;object-fit:cover}.travel-post-single .travel-post-detail{padding-top:15px}.travel-post-single .travel-post-detail .ascendoor-cat-links a{font-weight:700;text-decoration:none;color:var(--text-color-main);display:inline-block;margin-inline-end:5px;margin-block-end:5px}.travel-post-single .travel-post-detail .travel-post-title{font-size:var(--font-size-md);line-height:1.2;margin-top:0;font-family:var(--font-main);margin-bottom:10px}.travel-post-single .travel-post-detail .travel-post-title a{text-decoration:none;color:var(--text-color-main);display:inline-block}.travel-post-single .travel-post-detail .travel-meta{font-size:var(--font-size-sm);margin-bottom:10px}.travel-post-single .travel-post-detail .travel-meta a{text-decoration:none;color:var(--text-color-main)}.travel-post-single .travel-post-detail .travel-exverpt{margin-bottom:10px}.travel-post-single .travel-post-detail .ascendoor-button{display:inline-block}.archive-layout{margin-block:30px}.archive-layout.grid-style{display:grid;grid-gap:30px}.archive-layout.grid-style article{margin-bottom:0}.archive-layout.grid-style.column-2{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:480px){.archive-layout.grid-style.column-2{grid-template-columns:repeat(1,minmax(0,1fr))}}.wp-block-latest-posts.wp-block-latest-posts__list{list-style:none;padding-left:0;margin-inline:0}.wp-block-latest-posts.wp-block-latest-posts__list li>a{text-decoration:none;color:var(--color-text-main)}.header-banner .page-header .page-title{margin-bottom:0}nav.breadcrumb-trail ul.trail-items{list-style:none;padding:0;margin:0;color:var(--color-text-main)}nav.breadcrumb-trail ul.trail-items li{display:inline-block}nav.breadcrumb-trail ul.trail-items li a{text-decoration:none;color:var(--color-text-main)}nav.breadcrumb-trail ul.trail-items li:after{margin:0 .3rem}nav.breadcrumb-trail ul.trail-items li:last-child:after{display:none}.widget{margin:0 0 1.5em}.widget h2{font-size:var(--font-size-base);font-family:var(--font-main);line-height:1.3;margin:0 0 20px;position:relative}.widget ul{padding:0;margin:0;list-style:none}.widget ul li{font-size:14px;line-height:1.5em}.widget ul.children li.cat-item{margin:0 0 0 3em}.widget ul li a{text-decoration:none;color:var(--color-text-main)}.widget ul>li:not(:last-child){margin-bottom:7px;padding-bottom:7px;border-bottom:1px solid rgba(0,0,0,.1)}.custom-logo-link{display:inline-block}.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}#loader{overflow-x:hidden;overflow-y:hidden;vertical-align:middle;background-color:var(--background-color-white);position:fixed;display:table;width:100%;top:0;left:0;height:100%;min-height:100%;z-index:99999}#loader .loader-container{position:relative;display:table-cell;vertical-align:middle;z-index:12;text-align:center;text-transform:uppercase}#loader .loader-container #preloader{position:relative;margin:auto;width:75px}#loader .loader-container #preloader.loader-1 .dot{height:30px;aspect-ratio:2.5;--_g:no-repeat radial-gradient(farthest-side,var(--primary-color) 90%,#0000);background:var(--_g),var(--_g),var(--_g),var(--_g);background-size:20% 50%;animation:d4 1s infinite linear alternate}@keyframes d4{0%,5%{background-position:calc(0*100%/3) 50%,calc(1*100%/3) 50%,calc(2*100%/3) 50%,calc(3*100%/3) 50%}12.5%{background-position:calc(0*100%/3) 0,calc(1*100%/3) 50%,calc(2*100%/3) 50%,calc(3*100%/3) 50%}25%{background-position:calc(0*100%/3) 0,calc(1*100%/3) 0,calc(2*100%/3) 50%,calc(3*100%/3) 50%}37.5%{background-position:calc(0*100%/3) 100%,calc(1*100%/3) 0,calc(2*100%/3) 0,calc(3*100%/3) 50%}50%{background-position:calc(0*100%/3) 100%,calc(1*100%/3) 100%,calc(2*100%/3) 0,calc(3*100%/3) 0}62.5%{background-position:calc(0*100%/3) 50%,calc(1*100%/3) 100%,calc(2*100%/3) 100%,calc(3*100%/3) 0}75%{background-position:calc(0*100%/3) 50%,calc(1*100%/3) 50%,calc(2*100%/3) 100%,calc(3*100%/3) 100%}87.5%{background-position:calc(0*100%/3) 50%,calc(1*100%/3) 50%,calc(2*100%/3) 50%,calc(3*100%/3) 100%}95%,100%{background-position:calc(0*100%/3) 50%,calc(1*100%/3) 50%,calc(2*100%/3) 50%,calc(3*100%/3) 50%}}#loader .loader-container #preloader.loader-4 .dot:before,#loader .loader-container #preloader.loader-4 .dot:after{content:"";height:inherit;aspect-ratio:1;grid-area:1/1;margin:auto;border-radius:50%;transform-origin:-100% 50%;background:currentColor;animation:d9 1s infinite linear}@keyframes d9{58%,100%{transform:rotate(calc(var(--s,1)*1turn))}}header.site-header{position:relative}header.site-header .header-main-wrapper .bottom-header-outer-wrapper .bottom-header-part{background:0 0;padding-block:10px}header.site-header .header-main-wrapper .bottom-header-outer-wrapper .bottom-header-part .bottom-header-part-wrapper{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between}@media (max-width:600px){header.site-header .header-main-wrapper .bottom-header-outer-wrapper .bottom-header-part .bottom-header-part-wrapper{flex-direction:column;align-items:unset}}header.site-header .header-main-wrapper .bottom-header-outer-wrapper .bottom-header-part .bottom-header-part-wrapper .site-branding{display:flex;align-items:center;gap:10px}@media (max-width:600px){header.site-header .header-main-wrapper .bottom-header-outer-wrapper .bottom-header-part .bottom-header-part-wrapper .site-branding{flex-direction:column;align-items:unset;text-align:center}}header.site-header .header-main-wrapper .bottom-header-outer-wrapper .bottom-header-part .bottom-header-part-wrapper .site-branding .site-logo{width:50px}@media (max-width:600px){header.site-header .header-main-wrapper .bottom-header-outer-wrapper .bottom-header-part .bottom-header-part-wrapper .site-branding .site-logo{width:auto;max-width:150px;margin-inline:auto}}header.site-header .header-main-wrapper .bottom-header-outer-wrapper .bottom-header-part .bottom-header-part-wrapper .site-branding .site-identity .site-title{font-size:30px;line-height:1.1;font-weight:700;margin:0}header.site-header .header-main-wrapper .bottom-header-outer-wrapper .bottom-header-part .bottom-header-part-wrapper .site-branding .site-identity .site-title a{text-decoration:none;color:var(--color-text-white)}header.site-header .header-main-wrapper .bottom-header-outer-wrapper .bottom-header-part .bottom-header-part-wrapper .site-branding .site-identity .site-description{margin-bottom:0;margin-top:5px;color:var(--color-text-white)}@media (max-width:480px){header.site-header .header-main-wrapper .bottom-header-outer-wrapper .bottom-header-part .bottom-header-part-wrapper .site-branding .site-identity .site-description{font-size:.8rem;margin-top:0}}header.site-header .header-main-wrapper .bottom-header-outer-wrapper .bottom-header-part .bottom-header-part-wrapper .navigation-part{display:flex;align-items:center;gap:10px}header.site-header .header-main-wrapper .bottom-header-outer-wrapper .bottom-header-part .bottom-header-part-wrapper .navigation-part .header-search{position:relative;display:inline-block;text-align:center}@media (max-width:600px){header.site-header .header-main-wrapper .bottom-header-outer-wrapper .bottom-header-part .bottom-header-part-wrapper .navigation-part .header-search{position:unset}}header.site-header .header-main-wrapper .bottom-header-outer-wrapper .bottom-header-part .bottom-header-part-wrapper .navigation-part .header-search .header-search-wrap .header-search-icon{display:flex;justify-content:center;align-items:center;width:35px;height:35px;border-radius:50%;background-color:var(--primary-color);font-size:14px;color:var(--color-text-white);font-weight:700;text-align:center;text-decoration:none;outline:0}header.site-header .header-main-wrapper .bottom-header-outer-wrapper .bottom-header-part .bottom-header-part-wrapper .navigation-part .header-search .header-search-wrap .header-search-form{position:absolute;background:#fff;inset-inline-end:0;opacity:0;visibility:hidden;top:100%;width:325px;padding:14px;z-index:99;box-shadow:0 8px 20px rgba(0,0,0,.2)}@media (max-width:600px){header.site-header .header-main-wrapper .bottom-header-outer-wrapper .bottom-header-part .bottom-header-part-wrapper .navigation-part .header-search .header-search-wrap .header-search-form{width:100%}}header.site-header .header-main-wrapper .bottom-header-outer-wrapper .bottom-header-part .bottom-header-part-wrapper .navigation-part .header-search .header-search-wrap .header-search-form .search-form{display:flex}header.site-header .header-main-wrapper .bottom-header-outer-wrapper .bottom-header-part .bottom-header-part-wrapper .navigation-part .header-search .header-search-wrap .header-search-form .search-form label{width:75%}header.site-header .header-main-wrapper .bottom-header-outer-wrapper .bottom-header-part .bottom-header-part-wrapper .navigation-part .header-search .header-search-wrap .header-search-form .search-form label input{width:100%;border-radius:0}header.site-header .header-main-wrapper .bottom-header-outer-wrapper .bottom-header-part .bottom-header-part-wrapper .navigation-part .header-search .header-search-wrap .header-search-form .search-form input.search-submit{border:1px solid var(--primary-color);border-radius:0;padding:0;font-size:13px;width:25%;margin:0}header.site-header .header-main-wrapper:not(.transparent-header){background-color:#fff}header.site-header .header-main-wrapper:not(.transparent-header) .bottom-header-outer-wrapper .bottom-header-part{border-bottom:1px solid #f3f1ef}header.site-header .header-main-wrapper:not(.transparent-header) .bottom-header-outer-wrapper .bottom-header-part .bottom-header-part-wrapper .site-branding .site-identity .site-title a{color:var(--header-text-color)}header.site-header .header-main-wrapper:not(.transparent-header) .bottom-header-outer-wrapper .bottom-header-part .bottom-header-part-wrapper .site-branding .site-identity .site-description{color:var(--color-text-main)}a.explore-blog-scroll-to-top{position:fixed;bottom:55px;right:30px;height:50px;width:50px;opacity:0;visibility:hidden;z-index:17;display:flex;align-items:center;justify-content:center;text-decoration:none;color:var(--color-text-white);background-color:var(--primary-color);border:1px solid var(--color-text-white)}:root{--header-text-color:#0591bc}:root{--font-heading:"Montserrat",serif;--font-main:-apple-system,BlinkMacSystemFont,"Poppins","Segoe UI",Montserrat,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif}body,button,input{font-family:"Poppins",serif}.site-title a{font-family:"Montserrat",serif}.site-description{font-family:"Montserrat",serif}:root{--hcb--fz:var(--hcb--fz--base,14px);--hcb--ff:"Menlo","Consolas","Hiragino Kaku Gothic ProN","Hiragino Sans","Meiryo",sans-serif;--hcb--pY:1.75em;--hcb--pX:1.5em;--hcb--radius:3px;--hcb--linenumW:3.5ch;--hcb--data-label:attr(data-lang);--hcb--btn-offset:20px;--hcb--c:#1f1e1e;--hcb--tsh:unset;--hcb--bgc:#f8f6f6;--hcb--data-label--c:#1f1e1e;--hcb--data-label--bgc:#e8e8e8;--hcb--line-numbers--c:#999;--hcb--highlight-color:#9678641a;--hcb--file-icon:url(/wp-content/plugins/highlighting-code-block/assets/img/file-icon-light.svg);--hcb--scbar-track--bgc:#9696961a;--hcb--scbar-thumb--bgc:#96969640}:root{--hcb--c:#f9f9f6;--hcb--bgc:#2d2e29;--hcb--data-label--c:#fff;--hcb--data-label--bgc:#20211f;--hcb--line-numbers--c:#a3a3a3;--hcb--highlight-color:#fffaf51a;--hcb--file-icon:url(/wp-content/plugins/highlighting-code-block/assets/img/file-icon-dark.svg);--hcb--scbar-track--bgc:#ffffff1a;--hcb--scbar-thumb--bgc:#fff3}@media screen and (max-width:599px){:root{--hcb--fz:var(--hcb--fz--mobile,13px)}}:root{--hcb--fz--base:14px}:root{--hcb--fz--mobile:13px}:root{--hcb--ff:Menlo,Consolas,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif}.trail-items li:after{content:"/"}:root{--wpforms-field-border-radius:3px;--wpforms-field-background-color:#fff;--wpforms-field-border-color:rgba(0,0,0,.25);--wpforms-field-text-color:rgba(0,0,0,.7);--wpforms-label-color:rgba(0,0,0,.85);--wpforms-label-sublabel-color:rgba(0,0,0,.55);--wpforms-label-error-color:#d63637;--wpforms-button-border-radius:3px;--wpforms-button-background-color:#066aab;--wpforms-button-text-color:#fff;--wpforms-field-size-input-height:43px;--wpforms-field-size-input-spacing:15px;--wpforms-field-size-font-size:16px;--wpforms-field-size-line-height:19px;--wpforms-field-size-padding-h:14px;--wpforms-field-size-checkbox-size:16px;--wpforms-field-size-sublabel-spacing:5px;--wpforms-field-size-icon-size:1;--wpforms-label-size-font-size:16px;--wpforms-label-size-line-height:19px;--wpforms-label-size-sublabel-font-size:14px;--wpforms-label-size-sublabel-line-height:17px;--wpforms-button-size-font-size:17px;--wpforms-button-size-height:41px;--wpforms-button-size-padding-h:15px;--wpforms-button-size-margin-top:10px}.wpforms-container .wpforms-form *{word-break:break-word;hyphens:auto;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box}.wpforms-container .wpforms-submit-spinner{margin-left:15px;display:inline-block;vertical-align:middle}.wpforms-container .wpforms-hidden{display:none!important}div.wpforms-container-full *{background:0 0;border:0 none;border-radius:0;-webkit-border-radius:0;-moz-border-radius:0;float:none;font-size:100%;height:auto;letter-spacing:normal;outline:none;position:static;text-indent:0;text-shadow:none;text-transform:none;width:auto;visibility:visible;overflow:visible;margin:0;padding:0;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-shadow:none;-moz-box-shadow:none;-ms-box-shadow:none;-o-box-shadow:none;box-shadow:none}div.wpforms-container-full input{margin:0;border:0;padding:0;vertical-align:middle;background:0 0;height:auto;box-sizing:border-box}div.wpforms-container-full .wpforms-form .wpforms-submit-spinner{max-width:26px}div.wpforms-container-full input{height:var(--wpforms-field-size-input-height)}
Unlocking the Power of .NET – Empowering Developers, One Byte at a Time!
Explore Blazor Server and SignalR for building dynamic, real-time web applications with our comprehensive beginner-friendly guide.
Explore essential techniques in Blazor state management, with practical C# examples for beginners and seasoned developers alike.
Explore Serilog logging levels for effective application monitoring. Learn usage, benefits, and customization in this comprehensive guide.
Learn how to integrate JavaScript with Blazor apps easily. Step-by-step guide with code examples and best practices.
Learn how Blazor EditForm validation works and how to implement custom rules. Includes practical examples and code.
Learn Blazor routing and NavigationManager with examples. From query strings to route guards, master smooth navigation in your Blazor apps.