PacktLib: SignalR Real-time Application Cookbook

SignalR Real-time Application Cookbook

Credits

About the Author

Acknowledgments

About the Reviewers

www.PacktPub.com

Preface

Understanding the Basics

Introduction

Adding a Hub to an ASP.NET project

Adding a Hub to a self-hosting application

Connecting to a Hub from a JavaScript client

Connecting to a Hub from a .NET application

Using Hubs

Introduction

Adding a method to a Hub and counting the calls to it

Calling back the caller from a Hub's method

Broadcasting to all connected clients

Adding a connection to a group

Removing a connection from a group

Broadcasting to all connected clients except the caller

Broadcasting to all clients except the specified ones

Broadcasting to all clients in a group except the caller

Broadcasting from outside a Hub

Using the return value of a Hub method

Using the JavaScript Hubs Client API

Introduction

Starting a Hub connection

Setting up connection transport strategies

Calling a server-side Hub method

Adding a client-side method on the proxy and calling it from the server

Managing errors across a complex asynchronous workflow

Using the .NET Hubs Client API

Introduction

Starting a Hub connection

Setting up connection transport strategies

Calling a server-side Hub method

Adding a client-side method on the proxy and calling it from the server

Managing errors across a complex asynchronous workflow

Using a Persistent Connection

Introduction

Adding and registering a persistent connection

Sending messages from the server

Sending messages to the server

Exchanging messages between a server and a JavaScript client

Exchanging messages between a server and a .NET client

Handling Connections

Introduction

Controlling the lifetime of a connection

Handling a connection transient state

Establishing a cross-domain connection

Analyzing Advanced Scenarios

Introduction

Generating static files for JavaScript proxies

Authorizing requests on a Hub

Authorizing requests on a persistent connection

Authorizing requests in a self-hosting context

Scaling up

Scaling out with Azure

Scaling out with Redis

Scaling out with SQL Server

Establishing proxy-less connections

Introducing dependency injection (simple approach)

Introducing dependency injection (advanced approach)

Using dependency injection to replace a default behavior

Extending the Hub pipeline

Handling errors

Building Complex Applications

Introduction

Implementing a room-based chat application

Implementing a shared whiteboard

Implementing a real-time map of flying airplanes

Implementing a "pets finder" application

Implementing a custom backplane

Implementing a real-time error notification system

Creating Web Projects

Creating Web Projects

Creating Web Projects

Creating Web Projects

Creating Web Projects

Creating Web Projects

Creating Web Projects

Insights

Insights

Insights

Index