├── 2_Advanced
├── 08-1_Authorization
│ ├── Pages
│ │ ├── _ViewStart.cshtml
│ │ ├── Privacy.cshtml
│ │ ├── Shared
│ │ │ ├── _ValidationScriptsPartial.cshtml
│ │ │ └── _LoginPartial.cshtml
│ │ ├── _ViewImports.cshtml
│ │ ├── Index.cshtml
│ │ ├── Index.cshtml.cs
│ │ ├── Privacy.cshtml.cs
│ │ ├── Error.cshtml
│ │ └── Error.cshtml.cs
│ ├── tsconfig.json
│ ├── Areas
│ │ └── Identity
│ │ │ └── Pages
│ │ │ └── _ViewStart.cshtml
│ ├── app.db
│ ├── wwwroot
│ │ ├── favicon.ico
│ │ ├── webpack-assets.json
│ │ ├── js
│ │ │ └── site.js
│ │ └── lib
│ │ │ └── jquery-validation-unobtrusive
│ │ │ └── LICENSE.txt
│ ├── Client
│ │ └── Template
│ │ │ ├── favicon.ico
│ │ │ ├── js
│ │ │ └── site.js
│ │ │ └── lib
│ │ │ └── jquery-validation-unobtrusive
│ │ │ └── LICENSE.txt
│ ├── 5.0.0
│ ├── appsettings.Development.json
│ ├── appsettings.json
│ ├── Hubs
│ │ └── ColorHub.cs
│ ├── Data
│ │ └── ApplicationDbContext.cs
│ ├── Program.cs
│ ├── Properties
│ │ └── launchSettings.json
│ └── package.json
├── 02_MessagePack
│ ├── tsconfig.json
│ ├── Services
│ │ ├── IRandomUserService.cs
│ │ └── RandomUserService.cs
│ ├── appsettings.Development.json
│ ├── appsettings.json
│ ├── Models
│ │ ├── Id.cs
│ │ ├── Dob.cs
│ │ ├── Registered.cs
│ │ ├── Street.cs
│ │ ├── Timezone.cs
│ │ ├── Coordinates.cs
│ │ ├── RandomUserRoot.cs
│ │ ├── Name.cs
│ │ ├── Picture.cs
│ │ ├── Info.cs
│ │ ├── Login.cs
│ │ └── Location.cs
│ ├── client
│ │ └── index.html
│ ├── wwwroot
│ │ └── index.html
│ ├── Hubs
│ │ └── UserHub.cs
│ ├── Scaffold.Web.csproj
│ ├── Program.cs
│ ├── Properties
│ │ └── launchSettings.json
│ └── package.json
├── 12_RedisBackplane
│ ├── tsconfig.json
│ ├── appsettings.Development.json
│ ├── appsettings.json
│ ├── Hubs
│ │ └── BackgroundColorHub.cs
│ ├── client
│ │ └── index.html
│ ├── wwwroot
│ │ └── index.html
│ ├── Scaffold.Web.csproj
│ ├── Program.cs
│ ├── Properties
│ │ └── launchSettings.json
│ └── package.json
├── 13_HostedServices
│ ├── tsconfig.json
│ ├── Hubs
│ │ └── TimeHub.cs
│ ├── appsettings.Development.json
│ ├── appsettings.json
│ ├── client
│ │ ├── index.html
│ │ └── index.ts
│ ├── wwwroot
│ │ └── index.html
│ ├── Scaffold.Web.csproj
│ ├── Program.cs
│ ├── Properties
│ │ └── launchSettings.json
│ └── package.json
├── 03_StronglyTypedHubs
│ ├── tsconfig.json
│ ├── appsettings.Development.json
│ ├── appsettings.json
│ ├── client
│ │ ├── index.html
│ │ └── index.ts
│ ├── wwwroot
│ │ └── index.html
│ ├── Hubs
│ │ └── ViewHub.cs
│ ├── Scaffold.Web.csproj
│ ├── Program.cs
│ ├── Properties
│ │ └── launchSettings.json
│ └── package.json
├── 14_dotnetClient
│ ├── Server
│ │ ├── tsconfig.json
│ │ ├── appsettings.Development.json
│ │ ├── appsettings.json
│ │ ├── Hubs
│ │ │ └── BackgroundColorHub.cs
│ │ ├── client
│ │ │ └── index.html
│ │ ├── wwwroot
│ │ │ └── index.html
│ │ ├── Scaffold.Web.csproj
│ │ ├── Program.cs
│ │ ├── Properties
│ │ │ └── launchSettings.json
│ │ └── package.json
│ └── DotNetClient
│ │ ├── DotNetClient.csproj
│ │ └── .vscode
│ │ └── launch.json
├── 01-1 Client Connection Events
│ ├── tsconfig.json
│ ├── appsettings.Development.json
│ ├── appsettings.json
│ ├── Hubs
│ │ └── ViewHub.cs
│ ├── client
│ │ └── index.html
│ ├── wwwroot
│ │ └── index.html
│ ├── Scaffold.Web.csproj
│ ├── Program.cs
│ ├── Properties
│ │ └── launchSettings.json
│ └── package.json
├── 01-2 Server Connection Events
│ ├── tsconfig.json
│ ├── appsettings.Development.json
│ ├── appsettings.json
│ ├── client
│ │ ├── index.html
│ │ └── index.ts
│ ├── wwwroot
│ │ └── index.html
│ ├── Scaffold.Web.csproj
│ ├── Hubs
│ │ └── ViewHub.cs
│ ├── Program.cs
│ ├── Properties
│ │ └── launchSettings.json
│ └── package.json
├── 15_MultipleHubConnections
│ ├── tsconfig.json
│ ├── appsettings.Development.json
│ ├── appsettings.json
│ ├── Hubs
│ │ ├── BackgroundColorHub.cs
│ │ └── TimeHub.cs
│ ├── client
│ │ └── index.html
│ ├── wwwroot
│ │ └── index.html
│ ├── Scaffold.Web.csproj
│ ├── Program.cs
│ ├── Properties
│ │ └── launchSettings.json
│ └── package.json
└── 11_AzureSignalRService
│ └── 11_1-DefaultModeWithASPNETCore
│ ├── tsconfig.json
│ ├── appsettings.Development.json
│ ├── appsettings.json
│ ├── Hubs
│ └── BackgroundColorHub.cs
│ ├── client
│ └── index.html
│ ├── wwwroot
│ └── index.html
│ ├── Scaffold.Web.csproj
│ ├── Program.cs
│ ├── Properties
│ └── launchSettings.json
│ └── package.json
├── Demos
└── todo-application
│ ├── realtimetodo.client
│ ├── .browserslistrc
│ ├── babel.config.js
│ ├── src
│ │ ├── shims-vue.d.ts
│ │ ├── assets
│ │ │ └── logo.png
│ │ ├── main.ts
│ │ ├── shims-tsx.d.ts
│ │ ├── @types
│ │ │ └── service.d.ts
│ │ ├── App.vue
│ │ └── router
│ │ │ └── index.ts
│ ├── public
│ │ ├── favicon.ico
│ │ └── index.html
│ ├── .gitignore
│ ├── README.md
│ ├── .eslintrc.js
│ └── tsconfig.json
│ └── RealTimeTodo.Web
│ ├── Model
│ ├── ToDoItem.cs
│ └── ToDoListMinimal.cs
│ ├── appsettings.Development.json
│ ├── appsettings.json
│ ├── Services
│ └── IToDoRepository.cs
│ ├── RealTimeTodo.Web.csproj
│ └── Properties
│ └── launchSettings.json
├── 1_Essentials
├── 11_Groups
│ ├── tsconfig.json
│ ├── appsettings.Development.json
│ ├── appsettings.json
│ ├── Hubs
│ │ └── ColorHub.cs
│ ├── Scaffold.Web.csproj
│ ├── client
│ │ └── index.html
│ ├── wwwroot
│ │ └── index.html
│ ├── Program.cs
│ ├── Properties
│ │ └── launchSettings.json
│ ├── package.json
│ └── webpack.config.js
├── 2_Logging
│ ├── tsconfig.json
│ ├── .upgrade-assistant
│ ├── appsettings.Development.json
│ ├── appsettings.json
│ ├── client
│ │ ├── customLogger.ts
│ │ ├── index.html
│ │ └── index.ts
│ ├── Hubs
│ │ └── ViewHub.cs
│ ├── wwwroot
│ │ └── index.html
│ ├── Scaffold.Web.csproj
│ ├── Properties
│ │ └── launchSettings.json
│ ├── package.json
│ ├── Program.cs
│ └── webpack.config.js
├── 12_MessageSizes
│ ├── tsconfig.json
│ ├── Services
│ │ ├── IRandomUserService.cs
│ │ └── RandomUserService.cs
│ ├── appsettings.Development.json
│ ├── appsettings.json
│ ├── Models
│ │ ├── Id.cs
│ │ ├── Dob.cs
│ │ ├── Street.cs
│ │ ├── Registered.cs
│ │ ├── Timezone.cs
│ │ ├── Coordinates.cs
│ │ ├── RandomUserRoot.cs
│ │ ├── Name.cs
│ │ ├── Picture.cs
│ │ ├── Info.cs
│ │ ├── Login.cs
│ │ └── Location.cs
│ ├── Scaffold.Web.csproj
│ ├── client
│ │ └── index.html
│ ├── Hubs
│ │ └── UserHub.cs
│ ├── wwwroot
│ │ └── index.html
│ ├── Program.cs
│ ├── Properties
│ │ └── launchSettings.json
│ ├── package.json
│ └── webpack.config.js
├── 14_HubLifecycle
│ ├── tsconfig.json
│ ├── appsettings.Development.json
│ ├── appsettings.json
│ ├── Services
│ │ ├── IVoteManager.cs
│ │ └── VoteManager.cs
│ ├── client
│ │ ├── index.html
│ │ └── index.ts
│ ├── Scaffold.Web.csproj
│ ├── wwwroot
│ │ └── index.html
│ ├── Hubs
│ │ └── VoteHub.cs
│ ├── Properties
│ │ └── launchSettings.json
│ ├── package.json
│ ├── Program.cs
│ └── webpack.config.js
├── 15_Reconnection
│ ├── tsconfig.json
│ ├── appsettings.Development.json
│ ├── appsettings.json
│ ├── Hubs
│ │ └── ViewHub.cs
│ ├── client
│ │ ├── index.html
│ │ ├── CustomRetryPolicy.ts
│ │ └── index.ts
│ ├── wwwroot
│ │ └── index.html
│ ├── Scaffold.Web.csproj
│ ├── Program.cs
│ ├── Properties
│ │ └── launchSettings.json
│ └── package.json
├── 8_ClientEvents
│ ├── tsconfig.json
│ ├── appsettings.Development.json
│ ├── appsettings.json
│ ├── Hubs
│ │ └── ViewHub.cs
│ ├── client
│ │ ├── index.html
│ │ └── index.ts
│ ├── Scaffold.Web.csproj
│ ├── wwwroot
│ │ └── index.html
│ ├── Program.cs
│ ├── Properties
│ │ └── launchSettings.json
│ └── package.json
├── 16_DependencyInjection
│ ├── tsconfig.json
│ ├── Services
│ │ ├── IRandomUserService.cs
│ │ └── RandomUserService.cs
│ ├── appsettings.Development.json
│ ├── appsettings.json
│ ├── Models
│ │ ├── Id.cs
│ │ ├── Dob.cs
│ │ ├── Registered.cs
│ │ ├── Street.cs
│ │ ├── Timezone.cs
│ │ ├── Coordinates.cs
│ │ ├── RandomUserRoot.cs
│ │ ├── Name.cs
│ │ ├── Picture.cs
│ │ ├── Info.cs
│ │ ├── Login.cs
│ │ └── Location.cs
│ ├── Scaffold.Web.csproj
│ ├── client
│ │ └── index.html
│ ├── wwwroot
│ │ └── index.html
│ ├── Hubs
│ │ └── UserHub.cs
│ ├── Program.cs
│ ├── Properties
│ │ └── launchSettings.json
│ └── package.json
├── 1_BasicClientServer
│ ├── tsconfig.json
│ ├── Scaffold.Web.csproj
│ ├── appsettings.Development.json
│ ├── appsettings.json
│ ├── Hubs
│ │ └── ViewHub.cs
│ ├── client
│ │ ├── index.html
│ │ └── index.ts
│ ├── wwwroot
│ │ └── index.html
│ ├── Program.cs
│ ├── Properties
│ │ └── launchSettings.json
│ └── package.json
├── 7_CallingHubMethods
│ ├── tsconfig.json
│ ├── appsettings.Development.json
│ ├── appsettings.json
│ ├── Hubs
│ │ └── StringToolsHub.cs
│ ├── client
│ │ ├── index.html
│ │ └── index.ts
│ ├── Scaffold.Web.csproj
│ ├── wwwroot
│ │ └── index.html
│ ├── Program.cs
│ ├── Properties
│ │ └── launchSettings.json
│ └── package.json
├── 13_HubContextOutsideHub
│ ├── tsconfig.json
│ ├── appsettings.Development.json
│ ├── appsettings.json
│ ├── Services
│ │ ├── IVoteManager.cs
│ │ └── VoteManager.cs
│ ├── client
│ │ ├── index.html
│ │ └── index.ts
│ ├── Hubs
│ │ └── VoteHub.cs
│ ├── Scaffold.Web.csproj
│ ├── wwwroot
│ │ └── index.html
│ ├── Controllers
│ │ └── VoteController.cs
│ ├── Program.cs
│ ├── Properties
│ │ └── launchSettings.json
│ └── package.json
└── 5_ChoosingTransportType
│ ├── tsconfig.json
│ ├── appsettings.Development.json
│ ├── appsettings.json
│ ├── Hubs
│ └── ViewHub.cs
│ ├── client
│ ├── index.html
│ └── index.ts
│ ├── wwwroot
│ └── index.html
│ ├── Scaffold.Web.csproj
│ ├── Program.cs
│ ├── Properties
│ └── launchSettings.json
│ └── package.json
├── renovate.json
├── Clean.ps1
├── Presentations
└── RealTimeRevolution
│ └── src
│ ├── END
│ ├── appsettings.Development.json
│ ├── appsettings.json
│ ├── src.csproj
│ ├── wwwroot
│ │ ├── package.json
│ │ └── index.html
│ ├── package-lock.json
│ ├── Hubs
│ │ └── SyncHub.cs
│ ├── Program.cs
│ └── Properties
│ │ └── launchSettings.json
│ └── START
│ ├── appsettings.Development.json
│ ├── appsettings.json
│ ├── src.csproj
│ ├── wwwroot
│ ├── package.json
│ ├── index.js
│ └── index.html
│ ├── package-lock.json
│ ├── Program.cs
│ └── Properties
│ └── launchSettings.json
├── Scaffold NPM Commands.md
├── Upgrade.ps1
└── README.md
/2_Advanced/08-1_Authorization/Pages/_ViewStart.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | Layout = "_Layout";
3 | }
4 |
--------------------------------------------------------------------------------
/Demos/todo-application/realtimetodo.client/.browserslistrc:
--------------------------------------------------------------------------------
1 | > 1%
2 | last 2 versions
3 | not dead
4 |
--------------------------------------------------------------------------------
/1_Essentials/11_Groups/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5"
4 | }
5 | }
--------------------------------------------------------------------------------
/1_Essentials/2_Logging/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5"
4 | }
5 | }
--------------------------------------------------------------------------------
/2_Advanced/02_MessagePack/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5"
4 | }
5 | }
--------------------------------------------------------------------------------
/1_Essentials/12_MessageSizes/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5"
4 | }
5 | }
--------------------------------------------------------------------------------
/1_Essentials/14_HubLifecycle/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5"
4 | }
5 | }
--------------------------------------------------------------------------------
/1_Essentials/15_Reconnection/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5"
4 | }
5 | }
--------------------------------------------------------------------------------
/1_Essentials/8_ClientEvents/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5"
4 | }
5 | }
--------------------------------------------------------------------------------
/2_Advanced/08-1_Authorization/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5"
4 | }
5 | }
--------------------------------------------------------------------------------
/2_Advanced/12_RedisBackplane/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5"
4 | }
5 | }
--------------------------------------------------------------------------------
/2_Advanced/13_HostedServices/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5"
4 | }
5 | }
--------------------------------------------------------------------------------
/1_Essentials/16_DependencyInjection/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5"
4 | }
5 | }
--------------------------------------------------------------------------------
/1_Essentials/1_BasicClientServer/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5"
4 | }
5 | }
--------------------------------------------------------------------------------
/1_Essentials/7_CallingHubMethods/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5"
4 | }
5 | }
--------------------------------------------------------------------------------
/2_Advanced/03_StronglyTypedHubs/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5"
4 | }
5 | }
--------------------------------------------------------------------------------
/2_Advanced/14_dotnetClient/Server/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5"
4 | }
5 | }
--------------------------------------------------------------------------------
/1_Essentials/13_HubContextOutsideHub/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5"
4 | }
5 | }
--------------------------------------------------------------------------------
/1_Essentials/5_ChoosingTransportType/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5"
4 | }
5 | }
--------------------------------------------------------------------------------
/2_Advanced/01-1 Client Connection Events/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5"
4 | }
5 | }
--------------------------------------------------------------------------------
/2_Advanced/01-2 Server Connection Events/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5"
4 | }
5 | }
--------------------------------------------------------------------------------
/2_Advanced/15_MultipleHubConnections/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5"
4 | }
5 | }
--------------------------------------------------------------------------------
/2_Advanced/08-1_Authorization/Areas/Identity/Pages/_ViewStart.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | Layout = "/Pages/Shared/_Layout.cshtml";
3 | }
4 |
--------------------------------------------------------------------------------
/2_Advanced/08-1_Authorization/app.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1kevgriff/SignalR-Mastery/main/2_Advanced/08-1_Authorization/app.db
--------------------------------------------------------------------------------
/renovate.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://docs.renovatebot.com/renovate-schema.json",
3 | "extends": [
4 | "config:base"
5 | ]
6 | }
7 |
--------------------------------------------------------------------------------
/2_Advanced/11_AzureSignalRService/11_1-DefaultModeWithASPNETCore/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5"
4 | }
5 | }
--------------------------------------------------------------------------------
/Demos/todo-application/realtimetodo.client/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | presets: [
3 | '@vue/cli-plugin-babel/preset'
4 | ]
5 | }
6 |
--------------------------------------------------------------------------------
/Demos/todo-application/realtimetodo.client/src/shims-vue.d.ts:
--------------------------------------------------------------------------------
1 | declare module '*.vue' {
2 | import Vue from 'vue'
3 | export default Vue
4 | }
5 |
--------------------------------------------------------------------------------
/2_Advanced/08-1_Authorization/wwwroot/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1kevgriff/SignalR-Mastery/main/2_Advanced/08-1_Authorization/wwwroot/favicon.ico
--------------------------------------------------------------------------------
/2_Advanced/08-1_Authorization/Client/Template/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1kevgriff/SignalR-Mastery/main/2_Advanced/08-1_Authorization/Client/Template/favicon.ico
--------------------------------------------------------------------------------
/Demos/todo-application/realtimetodo.client/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1kevgriff/SignalR-Mastery/main/Demos/todo-application/realtimetodo.client/public/favicon.ico
--------------------------------------------------------------------------------
/2_Advanced/13_HostedServices/Hubs/TimeHub.cs:
--------------------------------------------------------------------------------
1 |
2 | using System;
3 | using System.Threading.Tasks;
4 | using Microsoft.AspNetCore.SignalR;
5 |
6 | public class TimeHub : Hub
7 | {
8 | }
--------------------------------------------------------------------------------
/Demos/todo-application/realtimetodo.client/src/assets/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1kevgriff/SignalR-Mastery/main/Demos/todo-application/realtimetodo.client/src/assets/logo.png
--------------------------------------------------------------------------------
/2_Advanced/08-1_Authorization/wwwroot/webpack-assets.json:
--------------------------------------------------------------------------------
1 | {"main":{"js":["/vendors-node_modules_microsoft_signalr_dist_esm_index_js.6e741fc33183c524ddd2.js","/main.92a76c86870b0291e715.js"]}}
--------------------------------------------------------------------------------
/1_Essentials/2_Logging/.upgrade-assistant:
--------------------------------------------------------------------------------
1 | {"Build":"0.3.255803\u002Bd72527aefab54bfbadc3227b4f1ffd326c1e9a8a","CurrentProject":"Scaffold.Web.csproj","EntryPoints":["Scaffold.Web.csproj"],"Properties":{}}
--------------------------------------------------------------------------------
/Clean.ps1:
--------------------------------------------------------------------------------
1 | Get-ChildItem . -recurse -include bin | remove-item -recurse
2 | Get-ChildItem . -recurse -include obj | remove-item -recurse
3 | Get-ChildItem . -recurse -include node_modules | remove-item -recurse
--------------------------------------------------------------------------------
/Demos/todo-application/RealTimeTodo.Web/Model/ToDoItem.cs:
--------------------------------------------------------------------------------
1 | public class ToDoItem
2 | {
3 | public int Id {get;set;}
4 | public string Text { get; set; }
5 | public bool IsCompleted { get; set; }
6 | }
--------------------------------------------------------------------------------
/1_Essentials/1_BasicClientServer/Scaffold.Web.csproj:
--------------------------------------------------------------------------------
1 |
Use this page to detail your site's privacy policy.
9 | -------------------------------------------------------------------------------- /2_Advanced/02_MessagePack/Services/IRandomUserService.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Threading.Tasks; 3 | 4 | public interface IRandomUserService 5 | { 6 | TaskIt is: 00:00:00
13 | 14 | 15 | -------------------------------------------------------------------------------- /1_Essentials/16_DependencyInjection/Models/Coordinates.cs: -------------------------------------------------------------------------------- 1 | // Root myDeserializedClass = JsonSerializer.DeserializePeople watching this page: 0
13 | 14 | 15 | -------------------------------------------------------------------------------- /1_Essentials/8_ClientEvents/Hubs/ViewHub.cs: -------------------------------------------------------------------------------- 1 | 2 | using System; 3 | using System.Threading.Tasks; 4 | using Microsoft.AspNetCore.SignalR; 5 | 6 | public class ViewHub : Hub 7 | { 8 | private static int ViewCount {get;set;} = 0; 9 | 10 | public Task IncrementServerView() 11 | { 12 | ViewCount++; 13 | 14 | return Clients.All.SendAsync("incrementView", ViewCount); 15 | } 16 | } -------------------------------------------------------------------------------- /2_Advanced/08-1_Authorization/Hubs/ColorHub.cs: -------------------------------------------------------------------------------- 1 | 2 | using System.Threading.Tasks; 3 | using Microsoft.AspNetCore.Authorization; 4 | using Microsoft.AspNetCore.SignalR; 5 | 6 | [Authorize()] 7 | public class ColorHub : Hub 8 | { 9 | [Authorize(Roles="ADMIN")] 10 | public Task ChangeBackground(string color){ 11 | 12 | return Clients.All.SendAsync("changeBackground", color); 13 | } 14 | } -------------------------------------------------------------------------------- /1_Essentials/15_Reconnection/client/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |People watching this page: 0
13 | 14 | 15 | -------------------------------------------------------------------------------- /1_Essentials/5_ChoosingTransportType/Hubs/ViewHub.cs: -------------------------------------------------------------------------------- 1 | 2 | using System; 3 | using System.Threading.Tasks; 4 | using Microsoft.AspNetCore.SignalR; 5 | 6 | public class ViewHub : Hub 7 | { 8 | public static int ViewCount {get;set;} = 0; 9 | 10 | public async Task NotifyWatching(){ 11 | ViewCount++; 12 | 13 | await this.Clients.All.SendAsync("viewCountUpdate", ViewCount); 14 | } 15 | } -------------------------------------------------------------------------------- /2_Advanced/01-1 Client Connection Events/Hubs/ViewHub.cs: -------------------------------------------------------------------------------- 1 | 2 | using System; 3 | using System.Threading.Tasks; 4 | using Microsoft.AspNetCore.SignalR; 5 | 6 | public class ViewHub : Hub 7 | { 8 | public static int ViewCount {get;set;} = 0; 9 | 10 | public async Task NotifyWatching(){ 11 | ViewCount++; 12 | 13 | await this.Clients.All.SendAsync("viewCountUpdate", ViewCount); 14 | } 15 | } -------------------------------------------------------------------------------- /1_Essentials/1_BasicClientServer/client/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |People watching this page: 0
13 | 14 | 15 | -------------------------------------------------------------------------------- /2_Advanced/03_StronglyTypedHubs/client/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |People watching this page: 0
13 | 14 | 15 | -------------------------------------------------------------------------------- /Demos/todo-application/realtimetodo.client/src/shims-tsx.d.ts: -------------------------------------------------------------------------------- 1 | import Vue, { VNode } from 'vue' 2 | 3 | declare global { 4 | namespace JSX { 5 | // tslint:disable no-empty-interface 6 | interface Element extends VNode {} 7 | // tslint:disable no-empty-interface 8 | interface ElementClass extends Vue {} 9 | interface IntrinsicElements { 10 | [elem: string]: any; 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /1_Essentials/5_ChoosingTransportType/client/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |People watching this page: 0
13 | 14 | 15 | -------------------------------------------------------------------------------- /2_Advanced/01-1 Client Connection Events/client/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |People watching this page: 0
13 | 14 | 15 | -------------------------------------------------------------------------------- /2_Advanced/01-2 Server Connection Events/client/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |People watching this page: 0
13 | 14 | 15 | -------------------------------------------------------------------------------- /2_Advanced/08-1_Authorization/Pages/Index.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | @model IndexModel 3 | @{ 4 | ViewData["Title"] = "Home page"; 5 | } 6 | 7 |You can only change background if you're logged in:
10 | 11 | 12 | 13 |13 |
View Count: 0
14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /2_Advanced/13_HostedServices/wwwroot/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |It is: 00:00:00
13 | 14 | 15 | -------------------------------------------------------------------------------- /1_Essentials/13_HubContextOutsideHub/client/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |People watching this page: 0
13 | 14 | 15 | -------------------------------------------------------------------------------- /1_Essentials/11_Groups/Hubs/ColorHub.cs: -------------------------------------------------------------------------------- 1 | 2 | using System; 3 | using System.Threading.Tasks; 4 | using Microsoft.AspNetCore.SignalR; 5 | 6 | public class ColorHub : Hub 7 | { 8 | public async Task JoinGroup(string groupName) 9 | { 10 | await Groups.AddToGroupAsync(Context.ConnectionId, groupName); 11 | } 12 | 13 | public Task TriggerGroup(string groupName) 14 | { 15 | return Clients.Group(groupName).SendAsync("TriggerColor", groupName); 16 | } 17 | } -------------------------------------------------------------------------------- /1_Essentials/15_Reconnection/wwwroot/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |People watching this page: 0
13 | 14 | 15 | -------------------------------------------------------------------------------- /1_Essentials/1_BasicClientServer/wwwroot/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |People watching this page: 0
13 | 14 | 15 | -------------------------------------------------------------------------------- /2_Advanced/03_StronglyTypedHubs/wwwroot/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |People watching this page: 0
13 | 14 | 15 | -------------------------------------------------------------------------------- /Demos/todo-application/realtimetodo.client/README.md: -------------------------------------------------------------------------------- 1 | # realtimetodo.client 2 | 3 | ## Project setup 4 | ``` 5 | npm install 6 | ``` 7 | 8 | ### Compiles and hot-reloads for development 9 | ``` 10 | npm run serve 11 | ``` 12 | 13 | ### Compiles and minifies for production 14 | ``` 15 | npm run build 16 | ``` 17 | 18 | ### Lints and fixes files 19 | ``` 20 | npm run lint 21 | ``` 22 | 23 | ### Customize configuration 24 | See [Configuration Reference](https://cli.vuejs.org/config/). 25 | -------------------------------------------------------------------------------- /1_Essentials/5_ChoosingTransportType/wwwroot/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |People watching this page: 0
13 | 14 | 15 | -------------------------------------------------------------------------------- /2_Advanced/12_RedisBackplane/client/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |13 | 14 | 15 |
16 | 17 | 18 | -------------------------------------------------------------------------------- /2_Advanced/01-1 Client Connection Events/wwwroot/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |People watching this page: 0
13 | 14 | 15 | -------------------------------------------------------------------------------- /2_Advanced/01-2 Server Connection Events/wwwroot/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |People watching this page: 0
13 | 14 | 15 | -------------------------------------------------------------------------------- /2_Advanced/14_dotnetClient/Server/client/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |13 | 14 | 15 |
16 | 17 | 18 | -------------------------------------------------------------------------------- /2_Advanced/03_StronglyTypedHubs/Hubs/ViewHub.cs: -------------------------------------------------------------------------------- 1 | 2 | using System; 3 | using System.Threading.Tasks; 4 | using Microsoft.AspNetCore.SignalR; 5 | 6 | public class ViewHub : Hub13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | -------------------------------------------------------------------------------- /1_Essentials/11_Groups/Scaffold.Web.csproj: -------------------------------------------------------------------------------- 1 |13 | 14 | 15 |
16 | 17 | 18 | -------------------------------------------------------------------------------- /Demos/todo-application/realtimetodo.client/src/App.vue: -------------------------------------------------------------------------------- 1 | 2 |13 | 14 | 15 |
16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /1_Essentials/12_MessageSizes/Models/Info.cs: -------------------------------------------------------------------------------- 1 | // Root myDeserializedClass = JsonSerializer.Deserialize13 |
View Count: 0
14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /Presentations/RealTimeRevolution/src/END/wwwroot/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "realtime-revolution-client", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "dependencies": { 7 | "@microsoft/signalr": "^8.0.0", 8 | "tippy.js": "^6.3.7", 9 | "toastify-js": "^1.11.2" 10 | }, 11 | "devDependencies": { 12 | "typescript": "^4.5.2" 13 | }, 14 | "scripts": { 15 | "test": "echo \"Error: no test specified\" && exit 1" 16 | }, 17 | "author": "", 18 | "license": "ISC" 19 | } 20 | -------------------------------------------------------------------------------- /Presentations/RealTimeRevolution/src/START/wwwroot/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "realtime-revolution-client", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "dependencies": { 7 | "@microsoft/signalr": "^8.0.0", 8 | "tippy.js": "^6.3.7", 9 | "toastify-js": "^1.11.2" 10 | }, 11 | "devDependencies": { 12 | "typescript": "^4.5.2" 13 | }, 14 | "scripts": { 15 | "test": "echo \"Error: no test specified\" && exit 1" 16 | }, 17 | "author": "", 18 | "license": "ISC" 19 | } 20 | -------------------------------------------------------------------------------- /1_Essentials/13_HubContextOutsideHub/wwwroot/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |13 | 14 | 15 |
16 | 17 | 18 | -------------------------------------------------------------------------------- /2_Advanced/14_dotnetClient/DotNetClient/DotNetClient.csproj: -------------------------------------------------------------------------------- 1 |13 | 14 | 15 |
16 | 17 | 18 | -------------------------------------------------------------------------------- /1_Essentials/7_CallingHubMethods/wwwroot/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | -------------------------------------------------------------------------------- /2_Advanced/11_AzureSignalRService/11_1-DefaultModeWithASPNETCore/wwwroot/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |13 | 14 | 15 |
16 | 17 | 18 | -------------------------------------------------------------------------------- /2_Advanced/15_MultipleHubConnections/wwwroot/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |13 | 14 | 15 |
16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /2_Advanced/02_MessagePack/wwwroot/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |
13 | Request ID: @Model.RequestId
14 |
19 | Swapping to the Development environment displays detailed information about the error that occurred. 20 |
21 |22 | The Development environment shouldn't be enabled for deployed applications. 23 | It can result in displaying sensitive information from exceptions to end users. 24 | For local debugging, enable the Development environment by setting the ASPNETCORE_ENVIRONMENT environment variable to Development 25 | and restarting the app. 26 |
27 | -------------------------------------------------------------------------------- /Presentations/RealTimeRevolution/src/START/wwwroot/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |