Comments (8)
Oooh, ouch. Thanks for sending this. Just confirmed this and will investigate!
from watsonwebserver.
Hi @at1993 I confirmed that the ResponseSent
event never fires but am unable to reproduce the InvalidOperationException
when a GET request comes in. Can you provide steps to reproduce?
from watsonwebserver.
Thanks for looking into the problem so promptly. The error may have suppressed when you test it in released mode. I tried it in debug mode via Visual Studio 2019.
from watsonwebserver.
Thanks @at1993 - so this issue is not limited to just the Test.Events
project, but any project including Test.Default
(just confirmed).
So there are two issues:
- Even though the requests are being responded to and handled by the default route, somehow an
InvalidOperationException
is being thrown, and - The
ResponseSent
callback is never being called
Can you confirm that requests are being handled as expected by your code aside from these two issues? Thanks!
from watsonwebserver.
For issue #1, changing from .RunSynchronously()
to .Wait()
resolves the issue.
For issue #2, I'll need to amend HttpResponse
to keep a flag indicating whether or not a response was sent, and check the flag at the end of ThreadPool.QueueUserWorkItem((c) => ...
from watsonwebserver.
Thanks @jchristn .Wait() works for me. Just curious, Within the HttpResponse class, it does not signal (ResponseSent) at all when sending data is completed.
from watsonwebserver.
Correct, I have to fix that :) This and one other fix will be going into my next release. Cheers!
from watsonwebserver.
NuGet package published: https://www.nuget.org/packages/Watson/3.0.5
Commit: 657b75f
Changes:
- Removed ThreadPool.QueueUserWorkItem in favor of unawaited Tasks
- Removed .RunSynchronously in favor of .Wait for the default route, thereby eliminating an InvalidOperationException (thank you @at1993)
- Properly firing ResponseSent events when the event callback is defined (thank you @at1993)
- Fixed an issue where the file path for content routes was not properly constructed (thank you @zaksnet)
- Added better documentation on event callbacks
Thanks for your help and re-open this issue if there are any problems! Cheers
from watsonwebserver.
Related Issues (20)
- Is WatsonWebserver built based on HTTP.SYS technology? HOT 1
- How can I call Routes.Content.Add with an internal folder in the program
- Bug Report : preflight request
- Question: how can I determine that the client sent a request to the web server from the same computer where the web server is running? HOT 1
- IPAddress.Any not support HOT 6
- Can WatsonWebServer supportwebsocket? HOT 1
- 6.0.2 Server decleration issue HOT 1
- Serving Content HOT 8
- ContentHandler missing from Version 6.1.1 HOT 1
- Add URL encoding support and index.html automatic mapping support in ContentRouteHandler HOT 1
- 302 redirect: Headers don't seem to go through on response HOT 4
- Can the official release a web proxy server component?Thanks so much! HOT 1
- SSL Stability issue, regressed from HttpServerLite. HOT 1
- Watson.Lite : Partial Range Requests status labeled as Internal Server Error 500 despite being handled fine. HOT 5
- Watson.Lite : C# web-clients not working out of the box with the server. HOT 3
- MJPEG STREAM SERVER THROUGH WATSON WEBSERVER HOT 1
- 4.8 Framework, should this still work? HOT 1
- README/Documentation update HOT 1
- Watson.Lite - SSL from PFX Example? HOT 1
- Problem with sending subsequent responses (Bad headers) HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from watsonwebserver.