Go to file
Pawel Kadluczka 06475270ec
Actually throwing exceptions from SendAsync (#1084)
SendAsync was using InvokeCoreAsync code to send messages. In case of exception InvokeCoreAsync is blocking and returns a task to the user so they can await for the remote call to complete. Any exception thrown is caught and used to fail the task returned to the user. SendAsync does not return a special task to the user so re-using InvokeCore resulted in swallowing exceptions. While SendAsync is fire and forget it actually should throw if the message could not be send and it was not happening.

While adding tests it turned out we did not test cases where Invoke/SendAsync/StreamAsync were invoked before starting the connection and this resulted in a NullReferenceException. I also fixed that.
2017-11-03 13:15:11 -07:00
.vscode
benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks Pin package and tool versions to make build more repeatable 2017-11-01 16:40:51 -07:00
build Pin package and tool versions to make build more repeatable 2017-11-01 16:40:51 -07:00
client-ts Actually throwing exceptions from SendAsync (#1084) 2017-11-03 13:15:11 -07:00
samples Pin package and tool versions to make build more repeatable 2017-11-01 16:40:51 -07:00
specs Updating spec 2017-11-01 20:20:43 -07:00
src Actually throwing exceptions from SendAsync (#1084) 2017-11-03 13:15:11 -07:00
test Actually throwing exceptions from SendAsync (#1084) 2017-11-03 13:15:11 -07:00
.appveyor.yml
.gitattributes
.gitignore Pin package and tool versions to make build more repeatable 2017-11-01 16:40:51 -07:00
.travis.yml
CONTRIBUTING.md
Directory.Build.props Pin package and tool versions to make build more repeatable 2017-11-01 16:40:51 -07:00
Directory.Build.targets Pin package and tool versions to make build more repeatable 2017-11-01 16:40:51 -07:00
LICENSE.txt
NuGet.config Pin package and tool versions to make build more repeatable 2017-11-01 16:40:51 -07:00
NuGetPackageVerifier.json
README.md Pin package and tool versions to make build more repeatable 2017-11-01 16:40:51 -07:00
SignalR.sln
build.cmd
build.sh
korebuild-lock.txt Pin package and tool versions to make build more repeatable 2017-11-01 16:40:51 -07:00
korebuild.json
run.cmd
run.ps1
run.sh
version.props Pin package and tool versions to make build more repeatable 2017-11-01 16:40:51 -07:00

README.md

ASP.NET Core SignalR

AppVeyor: AppVeyor

Travis: Travis

ASP.NET Core SignalR is a new library for ASP.NET Core developers that makes it incredibly simple to add real-time web functionality to your applications. What is "real-time web" functionality? It's the ability to have your server-side code push content to the connected clients as it happens, in real-time.

You can watch an introductory presentation here - Introducing ASP.NET Core Sockets.

This project is part of ASP.NET Core. You can find samples, documentation and getting started instructions for ASP.NET Core at the Home repo.

Packages

You can install the latest released JavaScript client from npm with the following command:

npm install @aspnet/signalr-client

The CI build publishes the latest dev version of the JavaScript client to our dev npm registry as @aspnet/signalr-client. You can install the module as follows:

  • Create an .npmrc file with the following line: @aspnet:registry=https://dotnet.myget.org/f/aspnetcore-ci-dev/npm/
  • Run: npm install @aspnet/signalr-client

Alternatively, if you don't want to create the .npmrc file run the following commands:

npm install msgpack5
npm install @aspnet/signalr-client --registry https://dotnet.myget.org/f/aspnetcore-ci-dev/npm/

Building from source

To run a complete build on command line only, execute build.cmd or build.sh without arguments.

The build requires NodeJS (6.9 or newer) and npm to be installed on the machine.

See developer documentation for more details.