Deploying .NET Core 2.1 web application - c#

I'm trying to deploy a .NET Core web application, and what happens is that I'm constantly getting a 500 server error
500 - Internal server error.
There is a problem with the resource you are looking for, and it cannot be displayed.
Regardless of what I put into the file system folder (I tried 3 different .NET Core web apps), there's always this error. I tried standard Visual Studio "Hello world" application - same thing. Logs are not created, this is the sample entry from the web.config file being used:
<aspNetCore processPath="dotnet" arguments=".\TestAppMin.dll" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" />
I manually created logs/stdout folder and changed IIS app pool rights to it - read/write.
IIS pool is configured as "No managed code" and "Integrated" pipeline.
I tried debug and release mode - no avail. I changed exception handling to custom in Startup.cs - still 500 error.
Latest .NET Core SDK is installed on the server.
If I manually create default.htm file, it's being displayed properly.
Can someone please advise me what am I doing wrong? Is there a way to diagnose that?
Thank you!

Do you have enabled AspNetCore Module in IIS under Handler Mappings ? I got it on first position.

Related

IIS express error500.24 web api

I migrate an dotnet framework web api application from vs 2010 to 2019.
I want to use IIS express for developpement mode debug.
My application is built with a api back in dotnet framework 4.5 using xml and not json and a front in dotnet winform.
sorry for the french messages.
thanks a lot for your suggest.
I've been stuck with this for a week
Vincent
I tried to change the web.config, the applicationhost.config (in the user iis express directory and the .VS\config directory.
add modules to IIS manager
Try removing this line from your web.config,
<identity impersonate="true"/>
Or,
as Described in here;
Your application's Web.config file specifies "identity
impersonate='true'".
In IIS 7 Integrated mode, client impersonation is not available in
some early request processing stages. Therefore, IIS will generate the
migration error message. If your ASP.NET Web application impersonates
client credentials (most common with intranet scenarios), you may want
to set the validateIntegratedModeConfiguration attribute to false.
Add this section to your config to overcome this issue,
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
</system.webServer>
thanks for your help
I have tried
validateIntegratedModeConfiguration="false"
and it worked only when I deleted the lines created in the applicationhost.config (but it's not a solution)
we finally found: the problem was that I modified the .csproj file; but the file used for the user configuration is the .csproj.user.
It is modified with the "property" tab of VS.
I had seen it in a post for an mvc web application, since we are using an api, I thought it was different because it is an api.....
My colleague showed me the options in the panel... and now it works!!!!
[]You have to modify in properties :
anonymous authentication : disable
windows authentication : enable
pipiline mode : classic
and that's all
Make sure all the following .NET modules are installed.
.NET SDK 6.0.100
.NET Runtime 6.0.0
.NET hosting 6.0.0
note that the above are the current versions the versions may differ.
also change the version of .config files by running as Administrator whether you open the .json on Notepad or your IDE.
make sure your Internet Information Services is up to date and have selected all features on IIS

.NET Core hosting to IIS, I get HTTP Error 500.30 - ANCM In-Process Start Failure

Problems deploying .NET Core to IIS.
I followed the steps as below:
Created a website using .NET Core 3.1 with Visual Studio
Created website inside IIS (pointing to an empty physical path C:\inetpub\mywebsite and address mywebsite.core.com)
Published my website from Visual Studio into the same folder, C:\inetpub\mywebsite
Host entry to browse from browser e.g. went to drivers\etc\hosts and added line
127.0.0.1 mywebsite.core.com
Installed bundles from here:https://dotnet.microsoft.com/download/dotnet-core/thank-you/runtime-aspnetcore-3.1.5-windows-hosting-bundle-installer
Error is:
HTTP Error 500.30 - ANCM In-Process Start Failure Common solutions to
this issue: The application failed to start The application started
but then stopped The application started but threw an exception during
startup Troubleshooting steps: Check the system event log for error
messages Enable logging the application process' stdout messages
Attach a debugger to the application process and inspect For more
information visit: https://go.microsoft.com/fwlink/?LinkID=2028265
I have a feeling this might be related to my launchSettings.json file, not sure how it should be adapted...
When I launched my site from Visual Studio it used to open directly to a swagger link, but now after publishing to IIS I can no longer launch it from Visual Studio (unable to connect to webserver IISExpress)...
Any help please?
It's a .NET Core 3.1 console app with a Startup that opened a swagger with my APIs before I attempted to publish to IIS.
Later edit:
https://learn.microsoft.com/en-us/aspnet/core/test/troubleshoot-azure-iis?view=aspnetcore-3.1 this suggests two possible causes: lack of permission to key vaults (not a preoblem, I am logged in Azure with azure cli); and the other one is: "The app is misconfigured due to targeting a version of the ASP.NET Core shared framework that isn't present. Check which versions of the ASP.NET Core shared framework are installed on the target machine."
Later edit:
The web.config from C:\inetpub\mywebsite looks like this:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<location path="." inheritInChildApplications="false">
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet" arguments=".\XXX.MyWebsite.Api.RestApi.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="outofprocess" />
</system.webServer>
</location>
</configuration>
I actually changed hostingModel="inprocess" to: hostingModel="outofprocess"
And my Project > Properties > Debug looks like this:
(as you can see I changed from In Process to Out of Process)
and the bindings in IIS look like this:
UPDATE: After all of this, my error changed to:
HTTP Error 502.5 - ANCM Out-Of-Process Startup Failure Common
solutions to this issue: The application process failed to start The
application process started but then stopped The application process
started but failed to listen on the configured port
(it was initially 500.30)
Not really sure what else to try. How do I check if the port is well configured?
Try to follow this article. https://learn.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/development-time-iis-support?view=aspnetcore-3.1
If it does not work - make sure that your application pool is enabled in IIS for you web application. Try also to restart IIS.
Debugging Via Kestrel Way
Kindly try to publish your application to a particular folder . Dotnet Core Cli Command for publishing. Below command publishes to "output" folder
dotnet publish -o output
After moving to publish folder via cd command . Type dotnet <project-name>.dll . Use your project name instead of <project-name>
your application should be running and it should be working perfectly . if you face any issue , it is due to application error
Deploy to IIS
After that for hosting your application to production or staging , Install IIS (not express) and
.NET core hosting bundle.[click here to download hosting bundle]
After that , you can follow this guide

Error 403 after deploying Asp Net Core 2.2 website on Godaddy

I have deployed my website developed in Asp net core 2.2 on Godaddy server.
After deploying I received error 500. As discussed with the Godaddy support I removed Web.config file.
Then it started throwing error 403. There is full permission to all folders and subfolders. I have searched a lot but unable to find any solution also Godaddy support is also not satisfactory.
I can't comment yet, otherwise I would. However:
Removing the web.config may not have been the correct move. My guess is now IIS has no idea that it should be running a .Net Core app, and instead tries to directory browse, which is disallowed so you receive a 403.
I'd also be wary now if you went and added full permissions on everything.
I would suggest re-deploying it from scratch and turning on the 'stdoutLogEnabled' in the web.config temporarily. Then the site should at least attempt to run again, and record an error log in the folder specified by the 'stdoutLogFile' path in the web.config.
More about stdoutLog here:
https://learn.microsoft.com/en-us/aspnet/core/host-and-deploy/aspnet-core-module?view=aspnetcore-2.2

Installing an ASP.NET web API on IIS

I have built my first ASP.NET web API in MVC, when I debug the application from Visual Studio everything works perfectly.
Now I need to get these API's on my server...
I have tried copying the project files to the website root which usually works for normal MVC apps with views, and I have also built the project and copies the file full of DLL's and an exe to the IIS root.
Obviously, neither of these worked, anyone know what I am missing? Perhaps something I have to do with IIS?
I have now tried "publishing" the project and when I try to access the site this happens...
Thanks in advance!
Build the application then publish it. Copy the published files to a favorite IIS folder. Ensure you select the right version of ASP.NET in the server for your application in the application pool.
When you publish and get an error such as this it is often related to a configuration issue, or other non-supported .NET Runtime issue.
For best results, if you can get to the Event Viewer for the server a detailed error should appear there outlining the root cause of the issue.
If you don't have access to the server directly, updating the <system.webServer> section with the below should get you a detailed error.
<httpErrors errorMode="Detailed" />
Just please note DO NOT LEAVE THAT LINE IN PRODUCTION!

403.14 - Publishing Asp.Net Core App

I'm trying publish an Asp.Net Core to an IIS 8 Server.
Here is my StartUp class
First, I read this tutorial and then, proceed with deploy.
This is the schema of my iis, and the app that I'm trying deploy is that one named "cola".
and this is the configuration of Asp.net Core pool
When I run the app, I get this error.
UPDATE - 05/05/16
If I go in homolog > cola > "Directory Browsing" and enable it, I have this result, but it's wrong cause I need to be redirected to Home/Index action.
What I'm doing wrong??
I had the same issue with core 1.1
The reason was that in my published output was missed web.config file
Try add it manually
With my ASP.NET Core 2.0 site, my web.config was also missing. Once added, the 403.14 went away. I'm still having some issues, but that was my solution to this particular error.
My understanding is the web.config is only used on the server for IIS settings but it still seems strange there is little to no mention of this in the deployment documentation.
the physical path is not \wwwroot but one level higher

Categories

Resources