Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update external files and remove unused #93

Merged
merged 1 commit into from May 10, 2018
Merged

Update external files and remove unused #93

merged 1 commit into from May 10, 2018

Conversation

JamesNK
Copy link
Collaborator

@JamesNK JamesNK commented May 9, 2018

MemoryBufferWriter has been updated with latest changes from SignalR.
Unused files have been removed.

@@ -285,7 +293,7 @@ public override void Write(byte[] buffer, int offset, int count)
}
}

#if NETCOREAPP2_1
#if NETCOREAPP2_2
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Azure SignalR SDK is netstandard2.0 only so this changing doesn't effect you.

@davidfowl davidfowl merged commit 7ebeeb0 into Azure:dev May 10, 2018
vicancy added a commit that referenced this pull request Sep 20, 2018
* New protocol used for SDK and Service (#11)

* New protocol used for SDK and Service

This PR is a subset of PR
#10. It is just for code
review purpose.

* update the dictionary if the same key existed

Add timestamp for metric requirement

* refactor code according to review comments

* refactor the protocol per review comments

* Service protocol for making refactoring version work (#16)

The service protocol still needs to be refactoring in next step.

* New SDK API and architecture refactor (#17)

* SDK new API and architecture refactoring

This commit includes:
1. architecture refactoring (all in HubHost folder, and has been reviewed)
2. API refactor: HubProxy and ServiceProvider folders
3. negotiation response implementation: HubHostBuilder.cs
4. ChatSample refactor: refers to relative new signalr.js, using new API

* rollback the change of VS version

* Fix most issues accroding to review comments

* remove unnecessary Task returun

* handle the connection completion

* gracefully complete the connection pipes when client drops

* Use the SignalR of Apr 18 to make client negotiate work

The client javascripts are copied from SignalR with CI:

commit f36313e58519dec240b3f327489995ffcdcb4056
Merge: 9a0c190f e9937ffb
Author: BrennanConroy <brecon@microsoft.com>
Date:   Wed Apr 18 17:45:08 2018 -0700

* simplify the logic to start HubConnection

* Try to gracefully close of client connection

* gracefully close pipe

* correct the logic of WaitOnTask

* Update the REST API

1. SignalRServiceContext is the interface to use.
2. Hub does not make sense in REST API under severless mode.
3. In order to communicate with SignalR service, I need to create my own
service provider to access SignalR protocol.

* Remove 'SignalR' prefix

* explain why we need all protocols

* fix a compilation issue

* New service protocol(#21)

* Refine REST API and ServiceOptions (#22)

* Refine REST API and ServiceOptions

1. AddAzureSignalR will register a default ServiceOptions
2. Fix an issue of CreateServiceContext
3. Rename the classes
4. Using option to get connection string in ChatSample

* refine the error message

* API refactor

1. For AddAzureSignalR(), we read connection string by
ServiceOptionSetup which looks up connection string from Configuration.
2. Add a standalone console application to demonstrate Rest API usage.

* Using AddAzureSignalR(connectionString) in CloudSignalR

* remove unnecessary dependency on MessagePack

* refine according to review comments

* use SendAsync overload directly

* Use new service protocol (#24)

* Make the OWIN project compile (#30)

* Made some perf changes and sample changes (#31)

- Use ReadOnlyMemory in ConnectionDataMessage
- Use IReadOnlyList<string> instead of string[] in protocol messages. This lets us remove ToArray() everywhere.
- Don't copy the buffer twice when writing it from the application pipe to the service connection. Just write the memory as is.
- Updated the sample to use the default connection string config key.

* Use all claims by default (#32)

- If no delegate was specfied then use all of the current user's claims.
- Renamed Claims to ClaimsProvider

* Fixed sample from merge

* Use the default WebHostBuilder (#33)

* Upgrade to the latest SignalR rc1 build (#34)

- Some things were made internal
- Added a test project and a fake test to make sure we can run more.

* Slight refactoring and renaming (#35)

- Remove ConnectionProtocol and ServiceResponse
- Change protocol to types to use ReadOnlyMemory<byte> instead of byte[]
- Rename methods (WriteAsync and StartAsync)

* Fixed null ref

* Send directly to the connection if we have a mapping (#36)

- Sending directly to a connection shorts writes to the hub connection context if it can.

* Improve error message and delete connection string from config. (#38)

* Improve error message and delete connection string from config.

* initial clean up of Rest API code (#39)

* Update to the latest SignalR and ASP.NET Core dependencies (#41)

* Dispose the HttpConnection if StartAsync fails (#40)

- This shouldn't matter as much but it's more correct to dispose the httpConnection if StartAsync fails. See aspnet/SignalR#2134.
- The reason it shouldn't matter is because we both skip negotiation and are using websockets which means we shouldn't ever allocate an HttpClient.

* Send server Id to service (#42)

* Send server's user Id to Service when connecion

* make sure we only generate single userId for all connections

* use machine name + GUID as server Id

It is friendly for diagnostic.

* reconnection implementation (#26)

* implement reconnection

implement reconnection

refactor the loop

refine per review comments

* Do not clean client connection contexts unless service asks to

Some cleaning up to align with async/await single loop pattern

* add "CleanupConnections" back

* rename

* remove _connected and refactor AbortOnClose

* add the missing lock check

* safely stop the connection in timer's callback

* remove unnecessary null check

* remove the locker helper

* Fix issue and polish code

* small fixes

* Renames and cleanup (#43)

- Moved public APIs to the root
- Renamed classes to add the Service* prefix

* provide default value for connection count (#44)

* Remove CloseTimeout (#45)

- We don't want to wait 300 seconds for the other side to close the websocket.

* Use the latest javascript client (#47)

* Don't pass the ConnectionDelegate in StartAsync (#46)

- Make it part of the ServiceConnection construction

* Add a heartbeat (#49)

* Add a heartbeat
- Implement the required features to support sending keep alives

* Handle shutdown properly (#51)

- Don't close the application input, we already complete it when the transport stops writing
- Handled exceptions leaking from the application task
- Added comments and fixed method names

* Make AccessTokenLifetime configurable (#52)

- Default to 1 hour instead of 30 seconds
- Added error message when connection string fails to parse

* refine log (#53)

* refine logs
close the issue #27

* Enable user secrets (#58)

* set connectionID for HttpConnection (#59)

generate connection ID for each service connection, and pass "cid=connectionId" through query string to service.

* build scripts (#61)

add scripts for build

BuildTools is applied for our build. The same as SignalR used for build.
Give the developers consistent building experience.

All scripts come from:
https://github.com/aspnet/BuildTools/tree/dev/scripts/bootstrapper
It is very easy to build on both Windows and Linux:

build.cmd or build.sh

They will install the required dotnet in your system. It will try to
find the *.sln to build and run test defaultly.

* Quit the loop if the connection closed (#63)

* Some updates to korebuild usage (#64)

- Pin korebuild to the release 2.1 branch
- Check in a korebuild-lock.txt which will pin the resolved version
- Make the .sh files executable with chmod

* Delete OWIN project (#65)

* Remove OWIN project from solution

* Add handshake with service (#67)

* Always read connection string defaults from config (#70)

* Always read connection string defaults from config
- Added tests

* Remove REST Api support in SDK (#71)

* Remove dependencies and delete the REST sample (#72)

* Code clean up (#73)

- Remove small async methods that are called once
- Remove extra async state machines

* upgrade to 1.0.0-rc1-30677 (#74)

* Add service protocol test case & add doc comments (#75)

* add service protocol test case
* add doc comments

* Refine connection string parsing (#78)

* update package name to 1.0.0-preview1-* (#80)

* Add swagger file and update README (#81)

* Update dependencies to rc1-final (#82)

* Enable travis ci build

* Add build status to README.md

* Point package links to Nuget (#86)

* Fix format in README (#88)

* Add missing XML doc (#92)

* Fixed auth and tests (#90)

- Made it so tests don't depend on timeouts
- Fixed the auth bug and added unit tests

* Update external files and remove unused (#93)

* Make AuthenticationHelper internal (#94)

* Make AuthenticationHelper internal

* Added timeout to tests to make sure things don't hang if there's a bug (#95)

* Added timeout to tests to make sure things don't hang if there's a bug
* Fix races in test

* Added more ServiceConnection tests (#96)

* Support multiple hubs (#98)

* WIP

* Removed Hub

* Updated to netcoreapp2.1 added another hub to sample

* fix issue #99 (#100)

Korebuild's config for dotnet SDK needs to be updated. Otherwise, it reports exception:
"Could not load file or assembly 'System.Memory, Version=4.1.0.0, Culture=neutral,
PublicKeyToken=cc7b13ffcd2ddd51'"

dotnet 2.1.300-rc1-008673 works fine. But lower version has this issue.

* Add signing project (#103)

* Add signing proj

* Add Microbuild Reference

* Add parameters into dependencies

* Fix MultiUserDataMessage type (#105)

* Use condition PackageReference in MicroBuild (#106)

* send PingMessage to service to keep alive (#102)

* Add package restore tests (#111)

* Add restore test

* More parameterize

* Update version

* filter claims in OpenConnectionMessage for unauthenticated user (#107)

* update SignalR dependencies to 1.0.0 (#114)

* Change Microbuild PackageReference to a separate proj (#116)

* change sign dependency

* Update

* add required metadata for nuget package (#117)

* add API descriptions in swagger (#128)

* Write the ReadOnlySequence as a single ConnectionDataMessage (#130)

- Manually write the message pack header and ReadOnlySequence to the Stream directly.
- Added IClientConnectionFactory to make it possible to override creation of client connections.
- Added test for writing multi segment message through the ServiceConnection.

* load connection string from ConnectionStrings section if default key not exist (#129)

* Add headers and query string in OpenConnectionMessage (#131)

* Throw more friendly exception when calling AddAzureSignalR without UseAzureSignalR (#136)

* Show friendly message if not call UseAzureSignalR

* Add blank line

* Change parameter name and add more check so that exception message can be more friendly.

* Add test case

* Push private package to myget (#137)

* Update travis to push package

* update travis

* update travis

* Fix dotnet not found (#138)

* update travis

* Fix wrong options in dotnet nuget push (#139)

* Add Test cases for EndpointUtilty, LifetimeManager and ServiceConnection (#133)

* Add EndpointUtilty Test

* Add tests for lifetimeManager

* Add LifetimeManager IT

* Format the codes

* Format codes

* Remove mock and use TestClass instead.

* Add a few reconnection test

* Add message fieds verification

* Add reconnect test

* Update reconnection test

* Update reconnection when connection throws exception

* Update reconnection logic

* Format codes

* Add keepalive reconnect

* Fix typo

* fix merge conflict

* clean up test infrastructure

* PR comments

* fix typo

* Add Endpoint validation (#142)

* Add endpoint validation

* Fix typo

* Update error message and add tests

* Avoid connection timeout when debugger is attached (#143)

For ServiceConnection Handshake, for better debugging experience

* Update xunit related test package version (#146)

to latest

* Add custom UserAgent for general telemetry tracking (#148)

Add custom UserAgent for general telemetry tracking

* send group message from a fixed service message (#147)

* Extract a base connection class to for service connection and utiliti… (#155)

* Extract a base connection class to for service connection and utilities (#153)

* Extract a base connection class to for basic service connection actions, such as keepalive, handshake, and process incoming messages to a Common csproj
* Change all class to internal as it is a SDK project

* support version in connection string. (#154)

* rename IServiceEndpointUtility to IServiceEndpointProvider. (#157)

* Add Constants to Common project (#164)

* Shorten AzureSignalRPrefix in claimType, as longer one will be result… (#165)

* Shorten AzureSignalRPrefix in claimType, as longer one will be resulted in longer url

* Loop over the dictionary itself rather than keys (#168)

> Performance tip: It's more efficient to loop over the ConcurrentDictionary itself rather than keys or values. Each of those collections takes a lock on all of the buckets.

* Send UpdateConnectionMessage when there is custom IUserIdProvider (#163)

* Revert "Send UpdateConnectionMessage when there is custom IUserIdProvider (#163)" (#171)

This reverts commit 52cfc85.

* Use IUserIdProvider to generate user id and include it in access token (#170)

* Change partitioning hashset algorithm (#177)

* Refactor ServiceEndpointProvider (#176)

* Include CustomUserId claim as internal claims (#178)

* Check system claims in a case-sensitive way (#180)

* Move ConnectionStringParser and IServiceEndpointGenerator to Common p… (#181)

* Move ConnectionStringParser and IServiceEndpointGenerator to Common project

* Move tests too

* Preserve original request path of client connection (#179)

* Include original query string in negotiate response (#184)

* Add missing copyright (#185)

* Minor refine of README (#188)

* Fix a VSTS restore test bug (#201)

* change suffix to rtm

* fix restore bugs

* change back to preview1

* Add swagger and documentation for V1 REST API (#195)

* rename custom header name to avoid header restriction in asp.net framework (#200)

* rename custom header name to avoid header restriction in asp.net

* add comments for the fix.

* header name convention

* Add client IP address in Context.HttpContext (#207)

* Merge AspNet related changes to dev branch (#209)

* Add Microsoft.Azure.SignalR.AspNet.csproj and SDK skeleton (#144)

* Add Microsoft.Azure.AspNet.SignalR.csproj and SDK skeleton

* Remove unneccessory package reference

* Rename to Microsoft.Azure.AspNet.SignalR

Implement RunAzureSignalR in the API, add necessory class skeleton

Resolve comments, and make ServiceOptions configurable

Add test project and RunAzureSignalR test

fix format: using System directives should be first

Add 2 to-dos

Reference Common project

update interface (#158)

Implement ServiceConnection for Azure AspNet Service (#159)

* Implement ServiceConnection for Azure AspNet Service, dispatcher should be per connection per instance, and add a TCS when service connection starts

Implement ConnectionFactory, and add a container for partitional writ… (#175)

* Implement ConnectionFactory, and add a container for partitional write message

* Use a more effective way to json serialize, and remove AddConnection from manager

* return 400 for JSONP

[ASP.NET SignalR]Implement ServiceEndpointPrvoider for ASP.NET SignalR SDK (#182)

* Implement ServiceEndpointPrvoider for ASP.NET SignalR SDK

Update the negotiate response (#186)

1. `ProtocolVersion` up to 2.0
2. Use `RedirectUrl` instead of already in-use `Url`

try to support /reconnect (#187)

* try to support /reconnect

Add dependencies from Common project to here (#193)

Although `PrivateAssets` and set workarounds as NuGet/Home#3891 (comment) shows, it is unable to detect what Common project references and add it to the references of current project.
So for now, we still need to make sure the references of Common project is added to this project's references, until NuGet/Home#3891 is resolved.

Add application name to the public API (#190)

* Add application name to the public API, and add comments, add an app connection to the service connection

Fix userid can be null (#204)

Make the one from web.config as the default connection string and fix build failure (#206)

* Fix build failure

* Make the one from web.config as the default connection string

* Add appsettings support

[ASP.NET SignalR]Implement ServiceMessageBus and ServiceConnectionManager (#152)

* Implement ServiceMessageBus and ConnectionManager

* disable net461 tests and samples in travis and add appveyor

Skip test related reference

* Add appveyor build status

* Update SignalR SDK version

* Update sources.props

* fix claim in negotiate handler. (#205)
JialinXin pushed a commit that referenced this pull request Jul 17, 2019
* Merge dev to master for releasing 1.0.0 (#211)

* New protocol used for SDK and Service (#11)

* New protocol used for SDK and Service

This PR is a subset of PR
#10. It is just for code
review purpose.

* update the dictionary if the same key existed

Add timestamp for metric requirement

* refactor code according to review comments

* refactor the protocol per review comments

* Service protocol for making refactoring version work (#16)

The service protocol still needs to be refactoring in next step.

* New SDK API and architecture refactor (#17)

* SDK new API and architecture refactoring

This commit includes:
1. architecture refactoring (all in HubHost folder, and has been reviewed)
2. API refactor: HubProxy and ServiceProvider folders
3. negotiation response implementation: HubHostBuilder.cs
4. ChatSample refactor: refers to relative new signalr.js, using new API

* rollback the change of VS version

* Fix most issues accroding to review comments

* remove unnecessary Task returun

* handle the connection completion

* gracefully complete the connection pipes when client drops

* Use the SignalR of Apr 18 to make client negotiate work

The client javascripts are copied from SignalR with CI:

commit f36313e58519dec240b3f327489995ffcdcb4056
Merge: 9a0c190f e9937ffb
Author: BrennanConroy <brecon@microsoft.com>
Date:   Wed Apr 18 17:45:08 2018 -0700

* simplify the logic to start HubConnection

* Try to gracefully close of client connection

* gracefully close pipe

* correct the logic of WaitOnTask

* Update the REST API

1. SignalRServiceContext is the interface to use.
2. Hub does not make sense in REST API under severless mode.
3. In order to communicate with SignalR service, I need to create my own
service provider to access SignalR protocol.

* Remove 'SignalR' prefix

* explain why we need all protocols

* fix a compilation issue

* New service protocol(#21)

* Refine REST API and ServiceOptions (#22)

* Refine REST API and ServiceOptions

1. AddAzureSignalR will register a default ServiceOptions
2. Fix an issue of CreateServiceContext
3. Rename the classes
4. Using option to get connection string in ChatSample

* refine the error message

* API refactor

1. For AddAzureSignalR(), we read connection string by
ServiceOptionSetup which looks up connection string from Configuration.
2. Add a standalone console application to demonstrate Rest API usage.

* Using AddAzureSignalR(connectionString) in CloudSignalR

* remove unnecessary dependency on MessagePack

* refine according to review comments

* use SendAsync overload directly

* Use new service protocol (#24)

* Make the OWIN project compile (#30)

* Made some perf changes and sample changes (#31)

- Use ReadOnlyMemory in ConnectionDataMessage
- Use IReadOnlyList<string> instead of string[] in protocol messages. This lets us remove ToArray() everywhere.
- Don't copy the buffer twice when writing it from the application pipe to the service connection. Just write the memory as is.
- Updated the sample to use the default connection string config key.

* Use all claims by default (#32)

- If no delegate was specfied then use all of the current user's claims.
- Renamed Claims to ClaimsProvider

* Fixed sample from merge

* Use the default WebHostBuilder (#33)

* Upgrade to the latest SignalR rc1 build (#34)

- Some things were made internal
- Added a test project and a fake test to make sure we can run more.

* Slight refactoring and renaming (#35)

- Remove ConnectionProtocol and ServiceResponse
- Change protocol to types to use ReadOnlyMemory<byte> instead of byte[]
- Rename methods (WriteAsync and StartAsync)

* Fixed null ref

* Send directly to the connection if we have a mapping (#36)

- Sending directly to a connection shorts writes to the hub connection context if it can.

* Improve error message and delete connection string from config. (#38)

* Improve error message and delete connection string from config.

* initial clean up of Rest API code (#39)

* Update to the latest SignalR and ASP.NET Core dependencies (#41)

* Dispose the HttpConnection if StartAsync fails (#40)

- This shouldn't matter as much but it's more correct to dispose the httpConnection if StartAsync fails. See aspnet/SignalR#2134.
- The reason it shouldn't matter is because we both skip negotiation and are using websockets which means we shouldn't ever allocate an HttpClient.

* Send server Id to service (#42)

* Send server's user Id to Service when connecion

* make sure we only generate single userId for all connections

* use machine name + GUID as server Id

It is friendly for diagnostic.

* reconnection implementation (#26)

* implement reconnection

implement reconnection

refactor the loop

refine per review comments

* Do not clean client connection contexts unless service asks to

Some cleaning up to align with async/await single loop pattern

* add "CleanupConnections" back

* rename

* remove _connected and refactor AbortOnClose

* add the missing lock check

* safely stop the connection in timer's callback

* remove unnecessary null check

* remove the locker helper

* Fix issue and polish code

* small fixes

* Renames and cleanup (#43)

- Moved public APIs to the root
- Renamed classes to add the Service* prefix

* provide default value for connection count (#44)

* Remove CloseTimeout (#45)

- We don't want to wait 300 seconds for the other side to close the websocket.

* Use the latest javascript client (#47)

* Don't pass the ConnectionDelegate in StartAsync (#46)

- Make it part of the ServiceConnection construction

* Add a heartbeat (#49)

* Add a heartbeat
- Implement the required features to support sending keep alives

* Handle shutdown properly (#51)

- Don't close the application input, we already complete it when the transport stops writing
- Handled exceptions leaking from the application task
- Added comments and fixed method names

* Make AccessTokenLifetime configurable (#52)

- Default to 1 hour instead of 30 seconds
- Added error message when connection string fails to parse

* refine log (#53)

* refine logs
close the issue #27

* Enable user secrets (#58)

* set connectionID for HttpConnection (#59)

generate connection ID for each service connection, and pass "cid=connectionId" through query string to service.

* build scripts (#61)

add scripts for build

BuildTools is applied for our build. The same as SignalR used for build.
Give the developers consistent building experience.

All scripts come from:
https://github.com/aspnet/BuildTools/tree/dev/scripts/bootstrapper
It is very easy to build on both Windows and Linux:

build.cmd or build.sh

They will install the required dotnet in your system. It will try to
find the *.sln to build and run test defaultly.

* Quit the loop if the connection closed (#63)

* Some updates to korebuild usage (#64)

- Pin korebuild to the release 2.1 branch
- Check in a korebuild-lock.txt which will pin the resolved version
- Make the .sh files executable with chmod

* Delete OWIN project (#65)

* Remove OWIN project from solution

* Add handshake with service (#67)

* Always read connection string defaults from config (#70)

* Always read connection string defaults from config
- Added tests

* Remove REST Api support in SDK (#71)

* Remove dependencies and delete the REST sample (#72)

* Code clean up (#73)

- Remove small async methods that are called once
- Remove extra async state machines

* upgrade to 1.0.0-rc1-30677 (#74)

* Add service protocol test case & add doc comments (#75)

* add service protocol test case
* add doc comments

* Refine connection string parsing (#78)

* update package name to 1.0.0-preview1-* (#80)

* Add swagger file and update README (#81)

* Update dependencies to rc1-final (#82)

* Enable travis ci build

* Add build status to README.md

* Point package links to Nuget (#86)

* Fix format in README (#88)

* Add missing XML doc (#92)

* Fixed auth and tests (#90)

- Made it so tests don't depend on timeouts
- Fixed the auth bug and added unit tests

* Update external files and remove unused (#93)

* Make AuthenticationHelper internal (#94)

* Make AuthenticationHelper internal

* Added timeout to tests to make sure things don't hang if there's a bug (#95)

* Added timeout to tests to make sure things don't hang if there's a bug
* Fix races in test

* Added more ServiceConnection tests (#96)

* Support multiple hubs (#98)

* WIP

* Removed Hub

* Updated to netcoreapp2.1 added another hub to sample

* fix issue #99 (#100)

Korebuild's config for dotnet SDK needs to be updated. Otherwise, it reports exception:
"Could not load file or assembly 'System.Memory, Version=4.1.0.0, Culture=neutral,
PublicKeyToken=cc7b13ffcd2ddd51'"

dotnet 2.1.300-rc1-008673 works fine. But lower version has this issue.

* Add signing project (#103)

* Add signing proj

* Add Microbuild Reference

* Add parameters into dependencies

* Fix MultiUserDataMessage type (#105)

* Use condition PackageReference in MicroBuild (#106)

* send PingMessage to service to keep alive (#102)

* Add package restore tests (#111)

* Add restore test

* More parameterize

* Update version

* filter claims in OpenConnectionMessage for unauthenticated user (#107)

* update SignalR dependencies to 1.0.0 (#114)

* Change Microbuild PackageReference to a separate proj (#116)

* change sign dependency

* Update

* add required metadata for nuget package (#117)

* add API descriptions in swagger (#128)

* Write the ReadOnlySequence as a single ConnectionDataMessage (#130)

- Manually write the message pack header and ReadOnlySequence to the Stream directly.
- Added IClientConnectionFactory to make it possible to override creation of client connections.
- Added test for writing multi segment message through the ServiceConnection.

* load connection string from ConnectionStrings section if default key not exist (#129)

* Add headers and query string in OpenConnectionMessage (#131)

* Throw more friendly exception when calling AddAzureSignalR without UseAzureSignalR (#136)

* Show friendly message if not call UseAzureSignalR

* Add blank line

* Change parameter name and add more check so that exception message can be more friendly.

* Add test case

* Push private package to myget (#137)

* Update travis to push package

* update travis

* update travis

* Fix dotnet not found (#138)

* update travis

* Fix wrong options in dotnet nuget push (#139)

* Add Test cases for EndpointUtilty, LifetimeManager and ServiceConnection (#133)

* Add EndpointUtilty Test

* Add tests for lifetimeManager

* Add LifetimeManager IT

* Format the codes

* Format codes

* Remove mock and use TestClass instead.

* Add a few reconnection test

* Add message fieds verification

* Add reconnect test

* Update reconnection test

* Update reconnection when connection throws exception

* Update reconnection logic

* Format codes

* Add keepalive reconnect

* Fix typo

* fix merge conflict

* clean up test infrastructure

* PR comments

* fix typo

* Add Endpoint validation (#142)

* Add endpoint validation

* Fix typo

* Update error message and add tests

* Avoid connection timeout when debugger is attached (#143)

For ServiceConnection Handshake, for better debugging experience

* Update xunit related test package version (#146)

to latest

* Add custom UserAgent for general telemetry tracking (#148)

Add custom UserAgent for general telemetry tracking

* send group message from a fixed service message (#147)

* Extract a base connection class to for service connection and utiliti… (#155)

* Extract a base connection class to for service connection and utilities (#153)

* Extract a base connection class to for basic service connection actions, such as keepalive, handshake, and process incoming messages to a Common csproj
* Change all class to internal as it is a SDK project

* support version in connection string. (#154)

* rename IServiceEndpointUtility to IServiceEndpointProvider. (#157)

* Add Constants to Common project (#164)

* Shorten AzureSignalRPrefix in claimType, as longer one will be result… (#165)

* Shorten AzureSignalRPrefix in claimType, as longer one will be resulted in longer url

* Loop over the dictionary itself rather than keys (#168)

> Performance tip: It's more efficient to loop over the ConcurrentDictionary itself rather than keys or values. Each of those collections takes a lock on all of the buckets.

* Send UpdateConnectionMessage when there is custom IUserIdProvider (#163)

* Revert "Send UpdateConnectionMessage when there is custom IUserIdProvider (#163)" (#171)

This reverts commit 52cfc85.

* Use IUserIdProvider to generate user id and include it in access token (#170)

* Change partitioning hashset algorithm (#177)

* Refactor ServiceEndpointProvider (#176)

* Include CustomUserId claim as internal claims (#178)

* Check system claims in a case-sensitive way (#180)

* Move ConnectionStringParser and IServiceEndpointGenerator to Common p… (#181)

* Move ConnectionStringParser and IServiceEndpointGenerator to Common project

* Move tests too

* Preserve original request path of client connection (#179)

* Include original query string in negotiate response (#184)

* Add missing copyright (#185)

* Minor refine of README (#188)

* Fix a VSTS restore test bug (#201)

* change suffix to rtm

* fix restore bugs

* change back to preview1

* Add swagger and documentation for V1 REST API (#195)

* rename custom header name to avoid header restriction in asp.net framework (#200)

* rename custom header name to avoid header restriction in asp.net

* add comments for the fix.

* header name convention

* Add client IP address in Context.HttpContext (#207)

* Merge AspNet related changes to dev branch (#209)

* Add Microsoft.Azure.SignalR.AspNet.csproj and SDK skeleton (#144)

* Add Microsoft.Azure.AspNet.SignalR.csproj and SDK skeleton

* Remove unneccessory package reference

* Rename to Microsoft.Azure.AspNet.SignalR

Implement RunAzureSignalR in the API, add necessory class skeleton

Resolve comments, and make ServiceOptions configurable

Add test project and RunAzureSignalR test

fix format: using System directives should be first

Add 2 to-dos

Reference Common project

update interface (#158)

Implement ServiceConnection for Azure AspNet Service (#159)

* Implement ServiceConnection for Azure AspNet Service, dispatcher should be per connection per instance, and add a TCS when service connection starts

Implement ConnectionFactory, and add a container for partitional writ… (#175)

* Implement ConnectionFactory, and add a container for partitional write message

* Use a more effective way to json serialize, and remove AddConnection from manager

* return 400 for JSONP

[ASP.NET SignalR]Implement ServiceEndpointPrvoider for ASP.NET SignalR SDK (#182)

* Implement ServiceEndpointPrvoider for ASP.NET SignalR SDK

Update the negotiate response (#186)

1. `ProtocolVersion` up to 2.0
2. Use `RedirectUrl` instead of already in-use `Url`

try to support /reconnect (#187)

* try to support /reconnect

Add dependencies from Common project to here (#193)

Although `PrivateAssets` and set workarounds as NuGet/Home#3891 (comment) shows, it is unable to detect what Common project references and add it to the references of current project.
So for now, we still need to make sure the references of Common project is added to this project's references, until NuGet/Home#3891 is resolved.

Add application name to the public API (#190)

* Add application name to the public API, and add comments, add an app connection to the service connection

Fix userid can be null (#204)

Make the one from web.config as the default connection string and fix build failure (#206)

* Fix build failure

* Make the one from web.config as the default connection string

* Add appsettings support

[ASP.NET SignalR]Implement ServiceMessageBus and ServiceConnectionManager (#152)

* Implement ServiceMessageBus and ConnectionManager

* disable net461 tests and samples in travis and add appveyor

Skip test related reference

* Add appveyor build status

* Update SignalR SDK version

* Update sources.props

* fix claim in negotiate handler. (#205)

* update aspnet signalr version to latest (#213)

* For master branch, show master branch build status

* Update aspnet signalr version to latest (#214)

* update aspnet signalr version to latest (#213)

* For master branch, show master branch build status

* Fix null exception when connection fails to start

* Fix the logging not work issue in ASP.NET one (#362)

* mark management sdk version as preview (#456)

* mark management sdk version as preview

* update

* copy common pkg (#457)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants