Tadas Mazutis
78f7dccfab
Performance fix
...
- Usage of resolved loopback IP address instead of 'localhost'
Addresses #1588
2018-04-16 14:45:16 +01:00
Eric Green
372e597f34
Added Timeout to HttpClient to always be longer than the InvocationTimeoutMilliseconds.
...
HttpClient defaults to 100 seconds. If InvocationTimeoutMilliseconds is greater than the default of the HttpClient, the task will fail with a Task was canceled exception.
2017-08-02 09:22:34 +01:00
Steve Sanderson
429a432dd3
Check for null during node process disposal. Fixes #1061
2017-07-03 10:09:03 +01:00
Sławomir Rosiek
4ceed817a3
Removed unused methods
2017-06-20 16:33:34 +01:00
Sławomir Rosiek
6d85e752e1
Throwing HttpInvocationException instead of generic Exception
2017-06-20 16:33:34 +01:00
Steve Sanderson
a3bcc0d863
Update debugger detection to support Node v8.1+, and stop aborting if debugger messages are unrecognised.
2017-06-11 20:28:14 +01:00
Steve Sanderson
b444831c8d
Remove System.Runtime.Loader dependency to enable net461 support. Use IApplicationLifetime instead of AssemblyLoadContext.Default.Unloading.
2017-06-07 14:58:44 +01:00
Steve Sanderson
2aaceaa9f8
Move core packages to netstandard2.0
2017-06-07 14:58:33 +01:00
Thomas Hermann
c592282646
Fix Node debugging by catching warning
2017-05-24 17:32:01 +01:00
Steve Sanderson
1f03b1e633
Tiny shortcut to reduce string checking in non-debug scenarios
2017-03-29 12:02:02 +01:00
Steve Sanderson
8544714cbb
Revert IsWarning code path to avoid breaking change (e.g., if someone overrode OnErrorDataReceived to receive such lines)
2017-03-29 12:02:02 +01:00
Thomas Hermann
0c09c68b77
Support V8 Inspector Integration for Node.js
...
Addresses #796
2017-03-29 12:02:02 +01:00
SteveSandersonMS
d7d1a04751
When Node is launched with a debug listener, disable connection draining on restart. Fixes #506 .
2017-01-20 17:32:26 +00:00
Niclas Emdelius
49bece54c2
Check if response is stream or object without using reference to reflection package.
2017-01-03 13:29:45 +00:00
nicemd
0907379da8
Streamed responses can be be Object or Stream
...
See issue https://github.com/aspnet/JavaScriptServices/issues/518
2017-01-03 13:29:45 +00:00
SteveSandersonMS
fbb8054c2e
Make error message clearer if Node isn't installed (or not found on PATH). Fixes #527
2017-01-03 10:59:26 +00:00
SteveSandersonMS
832da2a451
Split out 'socket' hosting model into a separate optional NuGet package, since most developers won't need it
2016-11-30 12:18:57 +00:00
SteveSandersonMS
ebf5a18344
Eliminate the NodeHostingModel enum because it isn't extensible. Instead, use extension methods on NodeServicesOptions to configure a NodeInstanceFactory.
2016-11-30 11:29:57 +00:00
SteveSandersonMS
3ff4447924
Add XML docs to core packages
2016-11-29 16:03:15 +00:00
Brad Christensen
4fc1d60d67
Remove cancellationToken parameter as the method is no longer async
2016-10-05 17:14:15 +01:00
Brad Christensen
1d76284e25
Serialize node invocationInfo JSON directly to stream to avoid running out of memory
...
Fixed only for SocketNodeInstance, as it deals nicely with streams. Previously ~30MB of JSON text and 32-bit IIS Express would result in an OutOfMemoryException at the GetBytes method, which is now fixed by writing the JSON string directly to the stream and not handling it as a string in between.
2016-10-05 17:14:15 +01:00
SteveSandersonMS
041d173f56
All NodeServices invocations now have a default timeout, plus a descriptive exception if that happens
2016-09-08 12:08:42 +01:00
SteveSandersonMS
2799861296
Support cancellation of NodeServices invocations
2016-09-08 10:56:50 +01:00
SteveSandersonMS
465d0c8d15
Design review: Explicitly disable TypeNameHandling in all Json.NET usage
2016-09-07 17:12:01 +01:00
SteveSandersonMS
f0d954b2a6
Design review: Change AddNodeServices to take an Action<NodeServicesOptions> like other aspects of MVC DI config
2016-09-01 17:46:59 +01:00
SteveSandersonMS
eed4d8c211
Child Node processes poll and exit when parent has exited. Fixes #270
2016-08-19 16:38:39 -07:00
SteveSandersonMS
098159998d
Add ability to configure environment variables for Node instances, plus auto-populate NODE_ENV based on IHostingEnvironment when possible. Fixes #230
2016-08-16 16:26:07 -07:00
Aaron Powell
2a6465b27a
FIxing path separator to address #247 ( #248 )
...
* Correcting path separator to ;
* Using the proper API from System.IO to get path separator
2016-08-08 10:54:22 +10:00
SteveSandersonMS
c892f7da35
Support debugging when on IPv6 network (Node's "Debugger listening" message is phrased differently there)
2016-07-27 09:50:43 +01:00
SteveSandersonMS
f2f67fe880
Support new config options to launch the Node process with a debug listener. This is compatible with node-inspector.
2016-07-26 18:33:27 +01:00
SteveSandersonMS
fae0a886af
Transfer multiline log messages from Node to .NET without treating each line as a separate log entry
2016-07-18 16:34:36 +01:00
SteveSandersonMS
f4efcacd40
Switch to native .NET logging APIs
2016-07-18 15:56:45 +01:00
Paul Knopf
27ffa72e0d
Adding support for capturing the output of a node instance for custom logging implementations.
2016-07-18 15:07:09 +01:00
SteveSandersonMS
a14d9ba2df
Change onBeforeStartExternalProcess to a virtual method, so as to avoid expanding the set of constructor params in all hosting models
2016-07-18 14:39:36 +01:00
thunder7553
7119815d04
Added OnBeforeStartExternalProcess callback which to NodeServicesOptions (and OutOfProcessNodeInstance, SocketNodeInstance and HttpNodeInstance) to configure environment of the node.exe process to be started, and the path to the node executable itself. Fixes #20
2016-07-18 14:24:07 +01:00
SteveSandersonMS
eec370e938
Move file-watching logic into .NET to avoid Node's fs.watch issues on Windows ( #128 )
2016-07-07 14:25:54 +01:00
SteveSandersonMS
be13f0b7bf
Centralise the child-process-terminating logic in NodeServicesImpl - don't also do it in OutOfProcessNodeInstance. This works towards connection draining.
2016-07-07 12:52:15 +01:00
SteveSandersonMS
26e8bd823c
Instead of the Node process exiting instantly on file change, send a signal to .NET that it should restart. This is working towards the connection-draining feature.
2016-07-07 12:01:28 +01:00
SteveSandersonMS
a19e37f3c0
Move logic for restarting Node child process into NodeServicesImpl. Tidy up lots.
2016-07-07 11:35:25 +01:00
SteveSandersonMS
4fb3b18868
Create new top-level DefaultNodeInstance concept that will soon hold the "connection draining" logic
2016-07-06 18:23:25 +01:00
SteveSandersonMS
a881ca5b96
Correctly set NODE_PATH when starting OutOfProcessNodeInstance
2016-06-14 10:43:03 +01:00
SteveSandersonMS
3fc19ea77b
Add missing lock to ensure thread-safe mutations of _activeInnerStreams in VirtualConnectionClient.cs
2016-06-14 10:16:40 +01:00
SteveSandersonMS
b19d0dff92
Support streamed response from SocketNodeInstance
2016-06-07 17:16:01 +01:00
SteveSandersonMS
967edd2b2a
Support streamed response from HttpNodeInstance
2016-06-07 16:49:40 +01:00
SteveSandersonMS
c8859abeb7
Fix #110 - enable asynchronous mode for Stream transport on Windows
2016-06-07 11:36:38 +01:00
SteveSandersonMS
311733b113
Fix references to socket APIs, and target the lowest net standard versions possible
2016-06-01 18:04:40 +01:00
SteveSandersonMS
f2e89fd3bc
Remove obsolete InputOutputStream transport, now that the Stream transport is implemented
2016-06-01 17:03:05 +01:00
pauldotknopf
50ee405656
Workaround for a bug in .NET Core. This issue is referenced by #92 . It is has been reported to the dotnet corefx team here: dotnet/corefx#8809 The issue won't be resolved in 1.0.0, so @stephentoub recommended that we reuse the HttpClient.
2016-06-01 16:49:40 +01:00
SteveSandersonMS
341cd4f1cb
Implement SocketNodeInstance
2016-06-01 16:16:10 +01:00
SteveSandersonMS
cb289fd387
Further stylistic tweaks
2016-05-31 22:29:27 +01:00