diff --git a/NuGet/WampSharp.AspNetCore.WebSockets.Server.nuspec b/NuGet/WampSharp.AspNetCore.WebSockets.Server.nuspec index 34bd12ae4..f6db7795f 100644 --- a/NuGet/WampSharp.AspNetCore.WebSockets.Server.nuspec +++ b/NuGet/WampSharp.AspNetCore.WebSockets.Server.nuspec @@ -20,5 +20,7 @@ + + \ No newline at end of file diff --git a/NuGet/WampSharp.Default.Client.nuspec b/NuGet/WampSharp.Default.Client.nuspec index c97fadeb6..4629f742b 100644 --- a/NuGet/WampSharp.Default.Client.nuspec +++ b/NuGet/WampSharp.Default.Client.nuspec @@ -28,6 +28,11 @@ + + + + + WampSharp.Default.Client WampSharp default client binding @@ -47,5 +52,7 @@ + + \ No newline at end of file diff --git a/NuGet/WampSharp.Default.nuspec b/NuGet/WampSharp.Default.nuspec index d6bfee69a..612cc2ac6 100644 --- a/NuGet/WampSharp.Default.nuspec +++ b/NuGet/WampSharp.Default.nuspec @@ -19,6 +19,9 @@ + + + WampSharp.Default WampSharp default binding diff --git a/NuGet/WampSharp.NewtonsoftJson.nuspec b/NuGet/WampSharp.NewtonsoftJson.nuspec index 953f35d50..3fefd009e 100644 --- a/NuGet/WampSharp.NewtonsoftJson.nuspec +++ b/NuGet/WampSharp.NewtonsoftJson.nuspec @@ -21,6 +21,10 @@ + + + + @@ -42,5 +46,7 @@ + + diff --git a/NuGet/WampSharp.NewtonsoftMsgpack.nuspec b/NuGet/WampSharp.NewtonsoftMsgpack.nuspec index 0037390ca..d6b4c9be1 100644 --- a/NuGet/WampSharp.NewtonsoftMsgpack.nuspec +++ b/NuGet/WampSharp.NewtonsoftMsgpack.nuspec @@ -20,6 +20,11 @@ + + + + + WampSharp.NewtonsoftMsgpack WampSharp Newtonsoft.Msgpack binding @@ -35,5 +40,7 @@ + + diff --git a/NuGet/WampSharp.RawSocket.nuspec b/NuGet/WampSharp.RawSocket.nuspec index f6f503a72..a0d8a5ed8 100644 --- a/NuGet/WampSharp.RawSocket.nuspec +++ b/NuGet/WampSharp.RawSocket.nuspec @@ -14,6 +14,10 @@ + + + + WampSharp.RawSocket WampSharp RawSocket support @@ -27,5 +31,7 @@ + + \ No newline at end of file diff --git a/NuGet/WampSharp.Vtortola.nuspec b/NuGet/WampSharp.Vtortola.nuspec index bbae25b58..dc6b3d018 100644 --- a/NuGet/WampSharp.Vtortola.nuspec +++ b/NuGet/WampSharp.Vtortola.nuspec @@ -5,8 +5,14 @@ CodeSharp - - + + + + + + + + WampSharp.Vtortola WampSharp Vtortola support @@ -18,5 +24,7 @@ + + diff --git a/NuGet/WampSharp.WebSocket4Net.nuspec b/NuGet/WampSharp.WebSocket4Net.nuspec index 3ef125456..96c373a8c 100644 --- a/NuGet/WampSharp.WebSocket4Net.nuspec +++ b/NuGet/WampSharp.WebSocket4Net.nuspec @@ -17,6 +17,10 @@ + + + + WampSharp.WebSocket4Net WampSharp WebSocket4Net connection @@ -32,5 +36,7 @@ + + diff --git a/NuGet/WampSharp.WebSockets.nuspec b/NuGet/WampSharp.WebSockets.nuspec index 696df374a..4a8985eee 100644 --- a/NuGet/WampSharp.WebSockets.nuspec +++ b/NuGet/WampSharp.WebSockets.nuspec @@ -10,11 +10,14 @@ WampSharp System.Net.WebSockets.WebSocket support websockets,wampws,rpc,pubsub,wampv1,wampv2 + + + - + @@ -24,5 +27,7 @@ + + \ No newline at end of file diff --git a/NuGet/WampSharp.nuspec b/NuGet/WampSharp.nuspec index 0bdf9bc18..7fc312ec2 100644 --- a/NuGet/WampSharp.nuspec +++ b/NuGet/WampSharp.nuspec @@ -6,7 +6,7 @@ - + @@ -19,35 +19,35 @@ - + - - - - - - - - + - - + + + + + + + + + - + - + @@ -71,6 +71,8 @@ + + diff --git a/src/net45/Default/WampSharp.WebSocket4Net/WebSocket4Net/WebSocket4NetConnection.cs b/src/net45/Default/WampSharp.WebSocket4Net/WebSocket4Net/WebSocket4NetConnection.cs index 8e31168ba..92fcba1c3 100644 --- a/src/net45/Default/WampSharp.WebSocket4Net/WebSocket4Net/WebSocket4NetConnection.cs +++ b/src/net45/Default/WampSharp.WebSocket4Net/WebSocket4Net/WebSocket4NetConnection.cs @@ -2,6 +2,7 @@ using SuperSocket.ClientEngine; using WampSharp.Core.Listener; using WampSharp.Core.Message; +using WampSharp.Logging; using WampSharp.V2.Binding; using WebSocket4Net; @@ -14,7 +15,9 @@ public abstract class WebSocket4NetConnection : IControlledWampConnect private readonly IWampBinding mBinding; private readonly WebSocket mWebSocket; - + + private readonly ILog mLogger; + #endregion public WebSocket4NetConnection(WebSocket webSocket, @@ -22,6 +25,7 @@ public WebSocket4NetConnection(WebSocket webSocket, { mBinding = binding; mWebSocket = webSocket; + mLogger = LogProvider.GetLogger(this.GetType()); mWebSocket.Opened += WebSocketOnOpened; mWebSocket.Closed += WebSocketOnClosed; mWebSocket.Error += WebSocketOnError; @@ -73,6 +77,7 @@ private void WebSocketOnClosed(object sender, EventArgs eventArgs) private void WebSocketOnError(object sender, ErrorEventArgs e) { + mLogger.Error("A connection error occured", e.Exception); RaiseConnectionError(e.Exception); } diff --git a/src/net45/Extensions/WampSharp.Vtortola/VtortolaWampBinaryConnection.cs b/src/net45/Extensions/WampSharp.Vtortola/VtortolaWampBinaryConnection.cs index 01e1d8072..3ee9b6d16 100644 --- a/src/net45/Extensions/WampSharp.Vtortola/VtortolaWampBinaryConnection.cs +++ b/src/net45/Extensions/WampSharp.Vtortola/VtortolaWampBinaryConnection.cs @@ -1,4 +1,5 @@ using System.IO; +using System.Threading; using System.Threading.Tasks; using vtortola.WebSockets; using WampSharp.Core.Message; @@ -12,9 +13,10 @@ internal class VtortolaWampBinaryConnection : VtortolaWampConnection mBinding; public VtortolaWampBinaryConnection(WebSocket connection, - IWampBinaryBinding binding, - ICookieAuthenticatorFactory cookieAuthenticatorFactory) : - base(connection, cookieAuthenticatorFactory) + CancellationToken cancellationToken, + IWampBinaryBinding binding, + ICookieAuthenticatorFactory cookieAuthenticatorFactory) : + base(connection, cancellationToken, cookieAuthenticatorFactory) { mBinding = binding; } diff --git a/src/net45/Extensions/WampSharp.Vtortola/VtortolaWampConnection.cs b/src/net45/Extensions/WampSharp.Vtortola/VtortolaWampConnection.cs index 24676ea0c..75f6ea621 100644 --- a/src/net45/Extensions/WampSharp.Vtortola/VtortolaWampConnection.cs +++ b/src/net45/Extensions/WampSharp.Vtortola/VtortolaWampConnection.cs @@ -16,14 +16,17 @@ internal abstract class VtortolaWampConnection : AsyncWebSocketWampCon IDetailedWampConnection { protected readonly WebSocket mWebsocket; + private readonly CancellationToken mCancellationToken; private readonly VtortolaTransportDetails mTransportDetails; protected VtortolaWampConnection(WebSocket websocket, - ICookieAuthenticatorFactory cookieAuthenticatorFactory) + CancellationToken cancellationToken, + ICookieAuthenticatorFactory cookieAuthenticatorFactory) : base(new CookieCollectionCookieProvider(websocket.HttpRequest.Cookies), - cookieAuthenticatorFactory) + cookieAuthenticatorFactory) { mWebsocket = websocket; + mCancellationToken = cancellationToken; mTransportDetails = new VtortolaTransportDetails(mWebsocket); } @@ -33,7 +36,7 @@ public async Task HandleWebSocketAsync() { RaiseConnectionOpen(); - while (mWebsocket.IsConnected) + while (IsConnected) { WebSocketMessageReadStream message = await mWebsocket.ReadMessageAsync(CancellationToken.None) @@ -63,7 +66,8 @@ protected override bool IsConnected { get { - return mWebsocket.IsConnected; + return !mCancellationToken.IsCancellationRequested && + mWebsocket.IsConnected; } } diff --git a/src/net45/Extensions/WampSharp.Vtortola/VtortolaWampTextConnection.cs b/src/net45/Extensions/WampSharp.Vtortola/VtortolaWampTextConnection.cs index 17af0a072..084ef8584 100644 --- a/src/net45/Extensions/WampSharp.Vtortola/VtortolaWampTextConnection.cs +++ b/src/net45/Extensions/WampSharp.Vtortola/VtortolaWampTextConnection.cs @@ -1,4 +1,5 @@ using System.IO; +using System.Threading; using System.Threading.Tasks; using vtortola.WebSockets; using WampSharp.Core.Message; @@ -12,9 +13,10 @@ internal class VtortolaWampTextConnection : VtortolaWampConnection mBinding; public VtortolaWampTextConnection(WebSocket connection, - IWampTextBinding binding, - ICookieAuthenticatorFactory cookieAuthenticatorFactory) : - base(connection, cookieAuthenticatorFactory) + CancellationToken cancellationToken, + IWampTextBinding binding, + ICookieAuthenticatorFactory cookieAuthenticatorFactory) : + base(connection, cancellationToken, cookieAuthenticatorFactory) { mBinding = binding; } diff --git a/src/net45/Extensions/WampSharp.Vtortola/VtortolaWebSocketHttpResponse.cs b/src/net45/Extensions/WampSharp.Vtortola/VtortolaWebSocketHttpResponse.cs index 1620d39cc..ee6c5f25e 100644 --- a/src/net45/Extensions/WampSharp.Vtortola/VtortolaWebSocketHttpResponse.cs +++ b/src/net45/Extensions/WampSharp.Vtortola/VtortolaWebSocketHttpResponse.cs @@ -1,6 +1,9 @@ using System.Linq; using System.Net; using vtortola.WebSockets; +#if NETCORE +using HttpStatusCode = vtortola.WebSockets.HttpStatusCode; +#endif namespace WampSharp.Vtortola { diff --git a/src/net45/Extensions/WampSharp.Vtortola/VtortolaWebSocketTransport.cs b/src/net45/Extensions/WampSharp.Vtortola/VtortolaWebSocketTransport.cs index 43acb10ae..4a04be4bd 100644 --- a/src/net45/Extensions/WampSharp.Vtortola/VtortolaWebSocketTransport.cs +++ b/src/net45/Extensions/WampSharp.Vtortola/VtortolaWebSocketTransport.cs @@ -3,10 +3,10 @@ using System.Security.Cryptography.X509Certificates; using System.Threading; using System.Threading.Tasks; -using WampSharp.Logging; using vtortola.WebSockets; using vtortola.WebSockets.Deflate; using vtortola.WebSockets.Rfc6455; +using WampSharp.Logging; using WampSharp.Core.Listener; using WampSharp.V2.Authentication; using WampSharp.V2.Binding; @@ -17,13 +17,14 @@ namespace WampSharp.Vtortola /// /// Represents a WebSocket transport implemented with Vtortola. /// - public class VtortolaWebSocketTransport : WebSocketTransport + public class VtortolaWebSocketTransport : WebSocketTransport { private readonly IPEndPoint mEndpoint; private WebSocketListener mListener; private readonly bool mPerMessageDeflate; private readonly X509Certificate2 mCertificate; private readonly WebSocketListenerOptions mOptions; + private CancellationTokenSource mCancellationToken; /// /// Creates a new instance of @@ -71,6 +72,7 @@ protected VtortolaWebSocketTransport public override void Dispose() { + mCancellationToken.Cancel(); mListener.Stop(); mListener.Dispose(); } @@ -82,42 +84,56 @@ public override void Open() WebSocketListenerOptions options = mOptions ?? new WebSocketListenerOptions(); options.SubProtocols = protocols; - + WebSocketListener listener = new WebSocketListener(mEndpoint, options); +#if NETCORE + WebSocketFactoryRfc6455 factory = new WebSocketFactoryRfc6455(); +#else WebSocketFactoryRfc6455 factory = new WebSocketFactoryRfc6455(listener); +#endif if (mPerMessageDeflate) { - factory.MessageExtensions.RegisterExtension(new WebSocketDeflateExtension()); +#if NETCORE + listener.MessageExtensions.RegisterExtension(new WebSocketDeflateExtension()); +#else + factory.MessageExtensions.RegisterExtension(new WebSocketDeflateExtension()); +#endif } listener.Standards.RegisterStandard(factory); - + if (mCertificate != null) { listener.ConnectionExtensions.RegisterExtension(new WebSocketSecureConnectionExtension(mCertificate)); } + mCancellationToken = new CancellationTokenSource(); + +#if NETCORE + listener.StartAsync(mCancellationToken.Token); +#else listener.Start(); +#endif mListener = listener; - Task.Run(new Func(ListenAsync)); + Task.Run(new Func(() => ListenAsync(mCancellationToken.Token))); } - private async Task ListenAsync() + private async Task ListenAsync(CancellationToken cancellationToken) { - while (mListener.IsStarted) + while (!cancellationToken.IsCancellationRequested) { try { - WebSocket websocket = await mListener.AcceptWebSocketAsync(CancellationToken.None) + WebSocket websocket = await mListener.AcceptWebSocketAsync(cancellationToken) .ConfigureAwait(false); if (websocket != null) { - OnNewConnection(websocket); + OnNewConnection(new WebSocketData(websocket, cancellationToken)); } } catch (Exception ex) @@ -127,27 +143,33 @@ private async Task ListenAsync() } } - protected override string GetSubProtocol(WebSocket connection) + protected override string GetSubProtocol(WebSocketData connection) { - return connection.HttpResponse.WebSocketProtocol; + return connection.WebSocket.HttpResponse.WebSocketProtocol; } - protected override void OpenConnection(WebSocket original, IWampConnection connection) + protected override void OpenConnection(WebSocketData original, IWampConnection connection) { VtortolaWampConnection casted = connection as VtortolaWampConnection; Task.Run(new Func(casted.HandleWebSocketAsync)); } protected override IWampConnection CreateBinaryConnection - (WebSocket connection, IWampBinaryBinding binding) + (WebSocketData connection, IWampBinaryBinding binding) { - return new VtortolaWampBinaryConnection(connection, binding, AuthenticatorFactory); + return new VtortolaWampBinaryConnection(connection.WebSocket, + connection.CancellationToken, + binding, + AuthenticatorFactory); } protected override IWampConnection CreateTextConnection - (WebSocket connection, IWampTextBinding binding) + (WebSocketData connection, IWampTextBinding binding) { - return new VtortolaWampTextConnection(connection, binding, AuthenticatorFactory); + return new VtortolaWampTextConnection(connection.WebSocket, + connection.CancellationToken, + binding, + AuthenticatorFactory); } } } \ No newline at end of file diff --git a/src/net45/Extensions/WampSharp.Vtortola/WampSharp.Vtortola.csproj b/src/net45/Extensions/WampSharp.Vtortola/WampSharp.Vtortola.csproj index fa3904714..344192c69 100644 --- a/src/net45/Extensions/WampSharp.Vtortola/WampSharp.Vtortola.csproj +++ b/src/net45/Extensions/WampSharp.Vtortola/WampSharp.Vtortola.csproj @@ -81,6 +81,7 @@ + diff --git a/src/net45/Extensions/WampSharp.Vtortola/WebSocketData.cs b/src/net45/Extensions/WampSharp.Vtortola/WebSocketData.cs new file mode 100644 index 000000000..a7e3eb5b7 --- /dev/null +++ b/src/net45/Extensions/WampSharp.Vtortola/WebSocketData.cs @@ -0,0 +1,17 @@ +using System.Threading; +using vtortola.WebSockets; + +namespace WampSharp.Vtortola +{ + public class WebSocketData + { + public WebSocket WebSocket { get; } + public CancellationToken CancellationToken { get; } + + public WebSocketData(WebSocket webSocket, CancellationToken cancellationToken) + { + WebSocket = webSocket; + CancellationToken = cancellationToken; + } + } +} \ No newline at end of file diff --git a/src/net45/WampSharp.WAMP1/WAMP1/V1/Api/Server/WampRequestContext.cs b/src/net45/WampSharp.WAMP1/WAMP1/V1/Api/Server/WampRequestContext.cs index fbd3893c5..e4942cd89 100644 --- a/src/net45/WampSharp.WAMP1/WAMP1/V1/Api/Server/WampRequestContext.cs +++ b/src/net45/WampSharp.WAMP1/WAMP1/V1/Api/Server/WampRequestContext.cs @@ -1,5 +1,8 @@ using System; +#if !NETSTANDARD2_0 using System.Runtime.Remoting.Messaging; +#endif +using System.Threading; using WampSharp.V1.Core.Contracts; using WampSharp.V1.Cra; @@ -10,6 +13,7 @@ public class WampRequestContext { #region Static Members +#if !NETSTANDARD2_0 public static WampRequestContext Current { get @@ -21,6 +25,21 @@ internal set CallContext.LogicalSetData(typeof (WampRequestContext).Name, value); } } +#else + private static readonly AsyncLocal mCurrent = new AsyncLocal(); + + public static WampRequestContext Current + { + get + { + return mCurrent.Value; + } + internal set + { + mCurrent.Value = value; + } + } +#endif #endregion diff --git a/src/net45/WampSharp/Core/Utilities/SerializableAttribute.cs b/src/net45/WampSharp/Core/Utilities/SerializableAttribute.cs index 18c90775c..9be89639a 100644 --- a/src/net45/WampSharp/Core/Utilities/SerializableAttribute.cs +++ b/src/net45/WampSharp/Core/Utilities/SerializableAttribute.cs @@ -1,4 +1,4 @@ -#if PCL +#if PCL && !NETSTANDARD2_0 namespace System { diff --git a/src/netstandard1.3/Extensions/WampSharp.RawSocket/WampSharp.RawSocket.csproj b/src/netstandard1.3/Extensions/WampSharp.RawSocket/WampSharp.RawSocket.csproj index 429e325d3..580bc37aa 100644 --- a/src/netstandard1.3/Extensions/WampSharp.RawSocket/WampSharp.RawSocket.csproj +++ b/src/netstandard1.3/Extensions/WampSharp.RawSocket/WampSharp.RawSocket.csproj @@ -24,7 +24,6 @@ - \ No newline at end of file diff --git a/src/netstandard1.3/WampSharp/WampSharp.csproj b/src/netstandard1.3/WampSharp/WampSharp.csproj index 35cff99dc..a3e66b222 100644 --- a/src/netstandard1.3/WampSharp/WampSharp.csproj +++ b/src/netstandard1.3/WampSharp/WampSharp.csproj @@ -29,18 +29,12 @@ - - - - - - - + - - + - + + \ No newline at end of file diff --git a/src/netstandard2.0/Default/WampSharp.NewtonsoftJson/WampSharp.NewtonsoftJson.csproj b/src/netstandard2.0/Default/WampSharp.NewtonsoftJson/WampSharp.NewtonsoftJson.csproj new file mode 100644 index 000000000..11cad1c3d --- /dev/null +++ b/src/netstandard2.0/Default/WampSharp.NewtonsoftJson/WampSharp.NewtonsoftJson.csproj @@ -0,0 +1,29 @@ + + + + netstandard2.0 + false + false + false + false + false + false + false + false + true + + + + + + + + NETCORE + + + + + + + + \ No newline at end of file diff --git a/src/netstandard2.0/Default/WampSharp.NewtonsoftMsgpack/WampSharp.NewtonsoftMsgpack.csproj b/src/netstandard2.0/Default/WampSharp.NewtonsoftMsgpack/WampSharp.NewtonsoftMsgpack.csproj new file mode 100644 index 000000000..dcb99ca69 --- /dev/null +++ b/src/netstandard2.0/Default/WampSharp.NewtonsoftMsgpack/WampSharp.NewtonsoftMsgpack.csproj @@ -0,0 +1,29 @@ + + + + netstandard2.0 + false + false + false + false + false + false + false + false + true + + + + + + + + NETCORE + + + + + + + + \ No newline at end of file diff --git a/src/netstandard2.0/Default/WampSharp.WebSocket4Net/WampSharp.WebSocket4Net.csproj b/src/netstandard2.0/Default/WampSharp.WebSocket4Net/WampSharp.WebSocket4Net.csproj new file mode 100644 index 000000000..9b8b10871 --- /dev/null +++ b/src/netstandard2.0/Default/WampSharp.WebSocket4Net/WampSharp.WebSocket4Net.csproj @@ -0,0 +1,30 @@ + + + + netstandard2.0 + false + false + false + false + false + false + false + false + true + + + + + + + + NETCORE + + + + + + + + + \ No newline at end of file diff --git a/src/netstandard2.0/Extensions/WampSharp.AspNetCore.WebSockets.Server/WampSharp.AspNetCore.WebSockets.Server.csproj b/src/netstandard2.0/Extensions/WampSharp.AspNetCore.WebSockets.Server/WampSharp.AspNetCore.WebSockets.Server.csproj new file mode 100644 index 000000000..081069a5e --- /dev/null +++ b/src/netstandard2.0/Extensions/WampSharp.AspNetCore.WebSockets.Server/WampSharp.AspNetCore.WebSockets.Server.csproj @@ -0,0 +1,29 @@ + + + + netstandard2.0 + false + false + false + false + false + false + false + false + true + + + + + + + + NETCORE + + + + + + + + \ No newline at end of file diff --git a/src/netstandard2.0/Extensions/WampSharp.RawSocket/WampSharp.RawSocket.csproj b/src/netstandard2.0/Extensions/WampSharp.RawSocket/WampSharp.RawSocket.csproj new file mode 100644 index 000000000..ac731c990 --- /dev/null +++ b/src/netstandard2.0/Extensions/WampSharp.RawSocket/WampSharp.RawSocket.csproj @@ -0,0 +1,29 @@ + + + + netstandard2.0 + false + false + false + false + false + false + false + false + true + + + + + + + + NETCORE + + + + + + + + \ No newline at end of file diff --git a/src/netstandard2.0/Extensions/WampSharp.Vtortola/WampSharp.Vtortola.csproj b/src/netstandard2.0/Extensions/WampSharp.Vtortola/WampSharp.Vtortola.csproj new file mode 100644 index 000000000..83379620a --- /dev/null +++ b/src/netstandard2.0/Extensions/WampSharp.Vtortola/WampSharp.Vtortola.csproj @@ -0,0 +1,29 @@ + + + + netstandard2.0 + false + false + false + false + false + false + false + false + true + + + + + + + + NETCORE + + + + + + + + \ No newline at end of file diff --git a/src/netstandard2.0/Extensions/WampSharp.WebSockets/WampSharp.WebSockets.csproj b/src/netstandard2.0/Extensions/WampSharp.WebSockets/WampSharp.WebSockets.csproj new file mode 100644 index 000000000..d026d0af8 --- /dev/null +++ b/src/netstandard2.0/Extensions/WampSharp.WebSockets/WampSharp.WebSockets.csproj @@ -0,0 +1,29 @@ + + + + netstandard2.0 + false + false + false + false + false + false + false + false + true + + + + + + + + NETCORE + + + + + + + + \ No newline at end of file diff --git a/src/netstandard2.0/Tests/WampSharp.Tests.TestHelpers/WampSharp.Tests.TestHelpers.csproj b/src/netstandard2.0/Tests/WampSharp.Tests.TestHelpers/WampSharp.Tests.TestHelpers.csproj new file mode 100644 index 000000000..b4ad6fb9e --- /dev/null +++ b/src/netstandard2.0/Tests/WampSharp.Tests.TestHelpers/WampSharp.Tests.TestHelpers.csproj @@ -0,0 +1,29 @@ + + + + netstandard2.0 + false + false + false + false + false + false + false + false + true + + + + + + + + NETCORE + + + + + + + + \ No newline at end of file diff --git a/src/netstandard2.0/Tests/WampSharp.Tests.Wampv2/WampSharp.Tests.Wampv2.csproj b/src/netstandard2.0/Tests/WampSharp.Tests.Wampv2/WampSharp.Tests.Wampv2.csproj new file mode 100644 index 000000000..aea7bb086 --- /dev/null +++ b/src/netstandard2.0/Tests/WampSharp.Tests.Wampv2/WampSharp.Tests.Wampv2.csproj @@ -0,0 +1,26 @@ + + + netcoreapp2.0 + false + false + false + false + false + false + false + false + NETCORE VALUETUPLE + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/netstandard2.0/WampSharp.Default.Client/WampSharp.Default.Client.csproj b/src/netstandard2.0/WampSharp.Default.Client/WampSharp.Default.Client.csproj new file mode 100644 index 000000000..7d6289db9 --- /dev/null +++ b/src/netstandard2.0/WampSharp.Default.Client/WampSharp.Default.Client.csproj @@ -0,0 +1,28 @@ + + + + netstandard2.0 + false + false + false + false + false + false + false + false + true + + + + + + + + $(DefineConstants);NETCORE; + + + + + + + \ No newline at end of file diff --git a/src/netstandard2.0/WampSharp.WAMP1/WampSharp.WAMP1.csproj b/src/netstandard2.0/WampSharp.WAMP1/WampSharp.WAMP1.csproj new file mode 100644 index 000000000..257ef88ed --- /dev/null +++ b/src/netstandard2.0/WampSharp.WAMP1/WampSharp.WAMP1.csproj @@ -0,0 +1,33 @@ + + + + WampSharp.WAMP1 + CodeSharp + netstandard2.0 + WampSharp.WAMP1 + WampSharp.WAMP1 + websockets;wampws;rpc;pubsub;wampv2 + https://github.com/Code-Sharp/WampSharp/ + false + false + false + false + false + false + false + false + true + + + + + + + $(DefineConstants);NET45; + + + + + + + \ No newline at end of file diff --git a/src/netstandard2.0/WampSharp/WampSharp.csproj b/src/netstandard2.0/WampSharp/WampSharp.csproj new file mode 100644 index 000000000..9b06a0b80 --- /dev/null +++ b/src/netstandard2.0/WampSharp/WampSharp.csproj @@ -0,0 +1,38 @@ + + + + WampSharp + CodeSharp + netstandard2.0 + WampSharp + WampSharp + websockets;wampws;rpc;pubsub;wampv2 + https://github.com/Code-Sharp/WampSharp/ + false + false + false + false + false + false + false + false + true + + + + + + + $(DefineConstants);NET45;NETCORE;PCL;CASTLE;LIBLOG_PUBLIC;LIBLOG_PORTABLE;TPL;ASYNC_LOCAL;ASYNC;WAMPCRA + + + + + + + + + + + + \ No newline at end of file diff --git a/src/netstandard2.0/WampSharpNetStandard.sln b/src/netstandard2.0/WampSharpNetStandard.sln new file mode 100644 index 000000000..0b836d77f --- /dev/null +++ b/src/netstandard2.0/WampSharpNetStandard.sln @@ -0,0 +1,108 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.26730.16 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WampSharp", "WampSharp\WampSharp.csproj", "{8EB8EF7A-FF96-4BA2-9662-C4882DBD1126}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{4CADCB5B-7607-4B2C-A1C4-0550568AAE5D}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Extensions", "Extensions", "{E3EAE72D-738A-4179-8A22-50D58A91AD04}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Default", "Default", "{72E8F565-788F-4A29-8919-7F3F001C6FC9}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WampSharp.Tests.Wampv2", "Tests\WampSharp.Tests.Wampv2\WampSharp.Tests.Wampv2.csproj", "{ECED5650-A8AF-4B0B-9C6E-BBAD9A147DFE}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WampSharp.Tests.TestHelpers", "Tests\WampSharp.Tests.TestHelpers\WampSharp.Tests.TestHelpers.csproj", "{EA8294AA-4DC7-4CD7-9916-00A590DB06BA}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WampSharp.AspNetCore.WebSockets.Server", "Extensions\WampSharp.AspNetCore.WebSockets.Server\WampSharp.AspNetCore.WebSockets.Server.csproj", "{EC3CAFF4-5635-4158-80CC-36AFC10ED645}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WampSharp.WebSockets", "Extensions\WampSharp.WebSockets\WampSharp.WebSockets.csproj", "{75AA7B6A-94E9-4EAA-9956-E88078FCD18E}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WampSharp.NewtonsoftJson", "Default\WampSharp.NewtonsoftJson\WampSharp.NewtonsoftJson.csproj", "{B9B030B5-2C08-4243-BED9-F8BFB67A7121}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WampSharp.NewtonsoftMsgpack", "Default\WampSharp.NewtonsoftMsgpack\WampSharp.NewtonsoftMsgpack.csproj", "{84244F63-AF74-4684-898F-8DAA3866D0DC}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WampSharp.WebSocket4Net", "Default\WampSharp.WebSocket4Net\WampSharp.WebSocket4Net.csproj", "{78C4FB25-2EEA-4178-9D2E-447215A09A70}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WampSharp.Default.Client", "WampSharp.Default.Client\WampSharp.Default.Client.csproj", "{A68B9369-5EFB-43D4-979D-25DD0AAB540C}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WampSharp.RawSocket", "Extensions\WampSharp.RawSocket\WampSharp.RawSocket.csproj", "{0A538377-4E4D-40B7-91D0-3E57AC40FE47}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WampSharp.WAMP1", "WampSharp.WAMP1\WampSharp.WAMP1.csproj", "{23F416C6-C878-4A1E-814E-CAF4331682D1}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WampSharp.Vtortola", "Extensions\WampSharp.Vtortola\WampSharp.Vtortola.csproj", "{5F6B51F6-1DA9-4D16-AEBD-BEC5F0E8E84D}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {8EB8EF7A-FF96-4BA2-9662-C4882DBD1126}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {8EB8EF7A-FF96-4BA2-9662-C4882DBD1126}.Debug|Any CPU.Build.0 = Debug|Any CPU + {8EB8EF7A-FF96-4BA2-9662-C4882DBD1126}.Release|Any CPU.ActiveCfg = Release|Any CPU + {8EB8EF7A-FF96-4BA2-9662-C4882DBD1126}.Release|Any CPU.Build.0 = Release|Any CPU + {ECED5650-A8AF-4B0B-9C6E-BBAD9A147DFE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {ECED5650-A8AF-4B0B-9C6E-BBAD9A147DFE}.Debug|Any CPU.Build.0 = Debug|Any CPU + {ECED5650-A8AF-4B0B-9C6E-BBAD9A147DFE}.Release|Any CPU.ActiveCfg = Release|Any CPU + {ECED5650-A8AF-4B0B-9C6E-BBAD9A147DFE}.Release|Any CPU.Build.0 = Release|Any CPU + {EA8294AA-4DC7-4CD7-9916-00A590DB06BA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {EA8294AA-4DC7-4CD7-9916-00A590DB06BA}.Debug|Any CPU.Build.0 = Debug|Any CPU + {EA8294AA-4DC7-4CD7-9916-00A590DB06BA}.Release|Any CPU.ActiveCfg = Release|Any CPU + {EA8294AA-4DC7-4CD7-9916-00A590DB06BA}.Release|Any CPU.Build.0 = Release|Any CPU + {EC3CAFF4-5635-4158-80CC-36AFC10ED645}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {EC3CAFF4-5635-4158-80CC-36AFC10ED645}.Debug|Any CPU.Build.0 = Debug|Any CPU + {EC3CAFF4-5635-4158-80CC-36AFC10ED645}.Release|Any CPU.ActiveCfg = Release|Any CPU + {EC3CAFF4-5635-4158-80CC-36AFC10ED645}.Release|Any CPU.Build.0 = Release|Any CPU + {75AA7B6A-94E9-4EAA-9956-E88078FCD18E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {75AA7B6A-94E9-4EAA-9956-E88078FCD18E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {75AA7B6A-94E9-4EAA-9956-E88078FCD18E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {75AA7B6A-94E9-4EAA-9956-E88078FCD18E}.Release|Any CPU.Build.0 = Release|Any CPU + {B9B030B5-2C08-4243-BED9-F8BFB67A7121}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B9B030B5-2C08-4243-BED9-F8BFB67A7121}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B9B030B5-2C08-4243-BED9-F8BFB67A7121}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B9B030B5-2C08-4243-BED9-F8BFB67A7121}.Release|Any CPU.Build.0 = Release|Any CPU + {84244F63-AF74-4684-898F-8DAA3866D0DC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {84244F63-AF74-4684-898F-8DAA3866D0DC}.Debug|Any CPU.Build.0 = Debug|Any CPU + {84244F63-AF74-4684-898F-8DAA3866D0DC}.Release|Any CPU.ActiveCfg = Release|Any CPU + {84244F63-AF74-4684-898F-8DAA3866D0DC}.Release|Any CPU.Build.0 = Release|Any CPU + {78C4FB25-2EEA-4178-9D2E-447215A09A70}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {78C4FB25-2EEA-4178-9D2E-447215A09A70}.Debug|Any CPU.Build.0 = Debug|Any CPU + {78C4FB25-2EEA-4178-9D2E-447215A09A70}.Release|Any CPU.ActiveCfg = Release|Any CPU + {78C4FB25-2EEA-4178-9D2E-447215A09A70}.Release|Any CPU.Build.0 = Release|Any CPU + {A68B9369-5EFB-43D4-979D-25DD0AAB540C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A68B9369-5EFB-43D4-979D-25DD0AAB540C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A68B9369-5EFB-43D4-979D-25DD0AAB540C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A68B9369-5EFB-43D4-979D-25DD0AAB540C}.Release|Any CPU.Build.0 = Release|Any CPU + {0A538377-4E4D-40B7-91D0-3E57AC40FE47}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {0A538377-4E4D-40B7-91D0-3E57AC40FE47}.Debug|Any CPU.Build.0 = Debug|Any CPU + {0A538377-4E4D-40B7-91D0-3E57AC40FE47}.Release|Any CPU.ActiveCfg = Release|Any CPU + {0A538377-4E4D-40B7-91D0-3E57AC40FE47}.Release|Any CPU.Build.0 = Release|Any CPU + {23F416C6-C878-4A1E-814E-CAF4331682D1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {23F416C6-C878-4A1E-814E-CAF4331682D1}.Debug|Any CPU.Build.0 = Debug|Any CPU + {23F416C6-C878-4A1E-814E-CAF4331682D1}.Release|Any CPU.ActiveCfg = Release|Any CPU + {23F416C6-C878-4A1E-814E-CAF4331682D1}.Release|Any CPU.Build.0 = Release|Any CPU + {5F6B51F6-1DA9-4D16-AEBD-BEC5F0E8E84D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {5F6B51F6-1DA9-4D16-AEBD-BEC5F0E8E84D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {5F6B51F6-1DA9-4D16-AEBD-BEC5F0E8E84D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {5F6B51F6-1DA9-4D16-AEBD-BEC5F0E8E84D}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {ECED5650-A8AF-4B0B-9C6E-BBAD9A147DFE} = {4CADCB5B-7607-4B2C-A1C4-0550568AAE5D} + {EA8294AA-4DC7-4CD7-9916-00A590DB06BA} = {4CADCB5B-7607-4B2C-A1C4-0550568AAE5D} + {EC3CAFF4-5635-4158-80CC-36AFC10ED645} = {E3EAE72D-738A-4179-8A22-50D58A91AD04} + {75AA7B6A-94E9-4EAA-9956-E88078FCD18E} = {E3EAE72D-738A-4179-8A22-50D58A91AD04} + {B9B030B5-2C08-4243-BED9-F8BFB67A7121} = {72E8F565-788F-4A29-8919-7F3F001C6FC9} + {84244F63-AF74-4684-898F-8DAA3866D0DC} = {72E8F565-788F-4A29-8919-7F3F001C6FC9} + {78C4FB25-2EEA-4178-9D2E-447215A09A70} = {72E8F565-788F-4A29-8919-7F3F001C6FC9} + {0A538377-4E4D-40B7-91D0-3E57AC40FE47} = {E3EAE72D-738A-4179-8A22-50D58A91AD04} + {5F6B51F6-1DA9-4D16-AEBD-BEC5F0E8E84D} = {E3EAE72D-738A-4179-8A22-50D58A91AD04} + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {9C83357C-2ED0-48F8-8468-E6531D94FBA3} + EndGlobalSection +EndGlobal