How to implement working web server with Mono WebAPI application - asp.net-mvc-4

Mono 3.2 MVC4 WebAPI application is running in Debian x64 VPS server. Mono is compiled from source and 4.5 subtree is used.
Application requires Chrome or Safari browser.
After refreshing browser window several times server does not work properly. I tried all known free possibilites:
Apache + mod_mono
After pressing browser refresh button several times server randomly returns 500 error for some pages
and apache error log contains "failed to map path" exception.
I posted it in
https://stackoverflow.com/questions/20356779/how-to-fix-failed-to-map-path-errors-in-mono-mvc4-application
and in
Mono ASP.NET mailing list without any response.
There are number of mono applications in server, maybe mod_mono selects wrong thread or is there some bug in webapi mapping implementation in mono.
Nginx + mono-fastcgi-server4.exe
Holding down F5 key causes 200% CPU usage forever in mono-fastcgi-server4.exe
I posted it in
https://stackoverflow.com/questions/20512978/how-to-limit-mono-197-cpu-usage-in-mono-fastcgi-server
and in
Mono ASP.NET mailing list without any solution.
Is looks like there is bug in mono fastcgi server or it is not compatible with mono 3.2
Using xsp4.exe directly
It causes "server does not return data" in Chrome if browser window is refreshed several times.
I posted this in
https://code.google.com/p/chromium/issues/detail?id=329311
without response.
Maybe xsp4 does not implement http protocol properly.
Havent tried ServiceStack since it cannot used for closed source development which is required. Also application uses also images, css, js files and MVC views which needs also served.
How to create proper server for mono which returns correct data ?

When 500 errors happen, somewhere in the mono class libraries an exception was thrown, you can find out more by using tracing:
mono --trace=E:System.Exception YourApp.exe
This way it's very possible that you find out what is causing the load problems you're seeing in each case (to do this for mono-fastcgi, you would need to add the trace argument in the script that calls mono-fastcgi-server4.exe).

Related

"A fatal error occurred while creating a TLS client credential. The internal error state is 10013." every 10 seconds

This has been asked before, but I've been through all the answers provided elsewhere so far, i.e. checking permissions on c:\ProgramData\Microsoft\Crypto\RSA\MachineKeys, adjusting protocols using IISCrypto and turning use of FIPS algorithms on (and off) and I'm still getting batches of 4 events every 10 seconds which swamps the System event log.
I'm running Windows Insider Preview 10 Build 19592.rs_prerelease.200321-1719 (64-bit) so this could be a preview specific issue, however, is there anything else I can try to correct this error?
same issues here, same error code, same pattern , same windows build, tried ISS CRYPTO BEST PRACTICES fix attempt. Did not resolve.
This is not a server, its a standalone client in a home network with no other computers active. Office is not installed, no Exchange, no IIS, no server applications of any kind, just stock windows services. Install is fresh.
Active Browser is Chrome Portable with some basic security plugins such as UBLOCK,Tampermonkey and Adblock. The only webpage opened is this one.
The answer I finally got from a comment on anothersite was that this was a known issue in the Insider Preview and it's now been fixed in the latest releases.
I've gotten this error on an ASP.NET Core 6.0 service that used to work fine previously. The problem turned out to be faulty deployment, that removed all files from the virtual directory.

ASP.NET Core 2.1 - Unable to start process dotnet.exe

After upgrading an application from .NET Core 1.0 to 2.1, I am receiving the following error when I try to debug it with IIS Express:
Unable to start process C:\Program Files\dotnet\dotnet.exe. The web server request failed with status code 502, Bad Gateway.
However, this only happens every second time I launch the application. Otherwise it works just fine if I just launch it again.
This creates a mild nuisance to my debugging process, as I constantly have to keep closing the error windows popping up.
The full response shows some additional info:
HTTP Error 502.3 - Bad Gateway
The specified CGI application encountered an error and the server terminated the process.
And the error code "0x80072efe" is shown.
Logging is enabled in web.config, but the crashing launches are not shown at logs at all. I have also tried looking Event Viewer for additional information, but I have not found anything.
The only fix for this I have found so far is to set Kestrel use libuv instead of sockets, but I have no idea why it works. Does anyone have any idea how to fix this?
I encountered the same problem after I upgraded, regardless of what I did it would always show the 502 error on the second load. It appears this problem was introduced in ASP.NET Core 2.1. I tracked it down to the asp-prerender-module tag in my view. Remove the prerender and it goes away.
I was able to fix the problem and keep my prerendering by upgrading to ASP.NET Core 2.2.

IIS 8.5 on Server 2012 R2 stops responding after a time

I recently updated a server from 2008 R2 to 2012 R2 that hosts a few MVC sites and a Web API. After deployment, everything seems to work fine for a few days before the web api seems to fail. It returns a 404 for all requests to the API from the failure forward. The parent MVC site seems to continue working fine.
A few things:
The web api is hosted as a web application inside a parent website within iis.
This is a 4.6.2 framework site and api.
I would prefer it to be its own site but I don't control this.
It seems to stop at roughly the same time when it occurs - around 2:35 AM
The only route defined by the web api is a GET
I've checked the event log as well as IIS logs. The event log doesn't reflect anything during these times and the IIS logs just show a 404 response. Resetting IIS/AppPools/etc... don't fix the api nor does restarting the machine. In fact, the only thing that seems to fix it temporarily is a VS publish over top of site.
I suspect something to do with MSDeploy but have nothing concrete. Does anyone have any ideas on where to look or what to look for? I feel it must be something to do with the server configuration as we've never seen this problem prior.
I ended up finding out the problem. Our project uses NLog with the config specified to create a new log file daily. Something within either NLog or IIS recently decided not to play nicely together. A temporary fix was to turn off the daily file creation from within NLog. Since making this change, the site has stayed up consistently for the past week.
This post is what got me checking into NLog as a possible culprit.

No WCF request is sent from Silverlight on client machine

My SL application is commercial and working just fine on hundreds of machines.
SL is using a WCF service and it works as expected, but today I observed behavior on client machine, where literally no call is made to server.
After you click button that sends a call, some error occures, and no record about WCF call is created in Fiddler.
Error is:
[HttpWebRequest_WebException_RemoteServer]
Arguments: NotFound
Debugging resource strings are unavailable...
I read about this error that people recommend to use Fiddler, but as I say there is no call displayed in Fiddler
So problem is worse than I thought initially.
It comes and goes. Currently we have found a working solution that fixes the problem after it appears although it doesn't make any sense to me.
For example if I get this error in chrome & mozilla & OOB version,
launching a program in IE works, and after that chrome,mozilla & OOB
start to work too.
Thing is that same people who had this problem solved with this workaround experience it again in some days, like a week, with no apparent reason, and then combination of launches from various locations helps (usually IE helps the most).
Any help appreciated, I start a bounty as its pretty sick bug and I need to fix it somehow.
Update
Weird IE fix scenario:
At some point OOB version gets into state where it doesn't send any WCF request to server.
(fiddler doesn't see it, server doesn't gets it).
After launching web version in IE, and hitting the same button, that sends WCF request we get desired result in IE web version.
Without changing anything else, just relaunching OOB version which was in this buggest state before, makes OOB version work correctly. Its not reinstalled, not changed - nothing.
This is what I call "IE cure" of this problem.
So the question is what can IE launch potentiall change for OOB version?
According to this thread the message Debugging resources are unavailable appears when de client is not using the the Silverlight Developer Runtime.
This means that the actual exception is hidden from you (and us) so the next step is to reproduce the error on a system that has the Silverlight Developer Runtime.
I found this article. It might be worth it to check the certificate you are using (are you using a certificate) It is one of those things that is different with OOB apps and browsers.

Silverlight WebRequest/WebClient SecurityException issues with local file system

I've stumbled across a few sources that state that silverlight cannot execute web requests when running from a local file, ie. using file:// instead of http://.
The problem I have is that we're using a sidebar gadget to host our silverlight app. Previously we were using WCF but now, when trying to include a RESTful json service, we can't due to this restriction.
Is there any workaround for the limitation of not being able to execute web requests when executing silverlight from the filesystem?
Edit - Update
I've stumbled across the term Cross-scheme to describe this sort of request, but it doesn't seem like it used to be supported, not sure about Silverlight 4.0. This is catastrophic for us. Any help or workarounds?