IIS and Visual Studio is having different result - iis

http://localhost:72/Home/Support?_subject=&_category=&_reportedDateFrom=09%2F05%2F2013&_reportedDateTo=09%2F05%2F2013&_solvedDateFrom=&_solvedDateTo=&_status=
Above is the pre-setup IIS website .. the date filtering is not filtering correctly.
http://localhost:54550/Home/Support?_subject=&_category=&_reportedDateFrom=09%2F05%2F2013&_reportedDateTo=09%2F05%2F2013&_solvedDateFrom=&_solvedDateTo=&_status=
Above is the visual studio debug URL, just the port number is different and it's working perfectly.
I have no idea what is happening.

To debug this I would start with the following:
Do a clean and rebuild of your solution.
Make sure you don't have two copies of the application running.
Make sure the application is being hosted in IIS properly. (Does the app show up when you right click and browse the web site from the IIS manager)
Attach the debugger to the process running under IIS in order to inspect the query parameters.
This article is getting a bit old but it has the general procedure you need to follow to attach to IIS to inspect a process.

Related

IIS App Pool stops when 32-bit is enabled

I have a brand new laptop with Windows 10 Professional. I have installed VS2019. I have also installed IIS. I have the default IIS setup, so just Default Web Site which when browsed goes to the default IIS page. I enable 32-bit mode on my DefaultAppPool. I then try to browse to the website again and I get a 503 error. The app pool has stopped.
I have seen numerous posts on the internet about attaching debuggers, writing log files, looking at the event viewer logs as well - but none of them are helping me. I have noticed that I can enable 32-bit and not assign any web application to it... then the app pool stays running. The second I assign a web application to the app pool it crashes (I set the Start Mode in the app pool advanced settings to Always Running in this instance)
I have created a new App Pool and tried the config again. If I look at event viewer logs, I get this:
I have also tried uninstalling IIS, deleting the inetsrv folder in system32, deleting inetpub and then reinstalling IIS.
I have also tried looking at the applicationHost.config file to try to pick up anything weird in there and everything looks good.
Any assistance would be greatly appreciated!
EDIT:
These are the Friendly views:
Error:
Warning:
I have downloaded the Microsoft Error Lookup tool (https://www.microsoft.com/en-us/download/details.aspx?id=100432)
According to this article I should take the value after the colon (:) and use it as a parameter on the Microsoft Error Tool (http://intelligentsystemsmonitoring.com/knowledgebase/internet-information-services/event-id-iis-worker-process-availability-21961/). I have done this for both values (70050780 and 80070570). Here are the outputs:
Is this anything to go on? If so what can I do to fix these errors? I don't know what file it's trying to access or which directory is corrupt. I have given Everyone and App Pool users access to inetpub to test it out but it doesn't work.

After adding SSL to local IIS "Unable to start debugging on the Web server"

Visual Studio 2015 (Loaded as Admin), Web API 2, Windows 10.
I have Local IIS with a subdomain sub.mylocalsite.com mapped through the hosts file to 127.0.0.1. The Web API 2 is loading and I am able to debug and do all the activities as expected.
On IIS, if I add a secure binding, with the proper self-signed certificate (without disabling the non-secure binding, i.e. keeping two bindings) and do an IIS Reset, I am able to access the https Web APIs as expected, however, when I click run to start debugging I get the standard error from VS of Unable to Start Debugging.
Please note that I tried both setting the start URL as http://sub.mylocalsite.com and https://sub.mylocalsite.com to no avail
Any solution?
I experienced the same thing, then saw this blog post. Try attaching to worker process, per this blog post:
https://blogs.msdn.microsoft.com/vijaysk/2007/10/17/visual-studio-debugging-websites-that-require-client-certificates/
The most important requirement for the pretty F5 key to work in Visual Studio is NTLM/Windows Intergated Authentication. Only then can it auto-attach to the IIS worker process. And this is where our trouble starts. Client certificates is a kind of an authentication mechanism. When you configure a website to require client certificates you are changing the authentication mechanism.
So if you are developing a website off an IIS server and you need to debug it with client certificates then you cannot just open your web project in visual studio and start debugging it. But what you can do is attach to the process running your code manually.
Open your project in Visual Studio and set a breakpoint as you usually do
Debug menu > Attach to Process > Select the process running your code.

How to configure an MVC6 app to work on IIS?

So I'm building an MVC6 app in Visual Studio 2015 and have managed to figure most stuff out, however, I haven't yet worked out deployment.
In MVC4 (what I was using before), our process* was publish to a folder, then setup the website in IIS (Right-Click on Sites -> Add Website).
Actually, our process is set it up in IIS and TeamCity, but not for test apps like this :).
I followed this process and obviously it's trivial to setup the IIS website and publish to the correct folder...but that does not actually work for me.
We're running IIS 8 on Windows Server 2012 and we've installed the .Net 4.6 runtime on the server.
The following steps have worked for me and should help you host your project on IIS.
Using Visual Studio 2015 Preview as your IDE,
Create an ASP .NET 5 Starter App.
Check that it is working outside of IIS.
Once complete, publish the application. In this example, I have selected the location C:\PublishWebApp.
3.1. When publishing your application, make sure that you have:
Disabled precompilation
Selected amd64
(See image below)
Upon a successful publish, go to C:\PublishWebApp.You should see the folders approot and wwwroot inside.
Now open the IIS Manager (I am assuming you have the ASP .NET 4.5 feature enabled)
Create a new website.
6.1 : Select the wwwrooot folder as the website's physical path. In this example, it is C:\PublishWebApp\wwwroot.
Check the website to see that it is working. If you encounter any errors, please post them here.
If the precompile option is ticked in the Publish Web Settings window pictured above, then you must
Go to the wwwroot folder of your published web application. In this example, it is C:\PublishWebApp\wwwroot.
Locate web.config.
Inside the folder of your published application, there is an packages folder inside of the approot folder which should contain a folder named after your application, with a folder for the version underneath. Inside that folder should be a folder named root. In web.config, set the value for the key kre-app-base to the root folder. For reference, see the line of code below. In this example, the application name is WebApplication10.
<add key="kre-app-base" value="..\approot\packages\WebApplication10\1.0.0\root" />
I Spent hours on debugging the issue finally got it worked, steps:
1) Publish your MVC6 application using visual studio into file system, make sure you are selecting correct DNX Target version in my case its dnx-clr-win-x64.1.0.0-rc1-update1.
In the output folder map "wwwroot" folder to your applicaiton in IIS (DO NOT Map it to sup-applicaiton, only ROOT application in IIS works with DNX for example "Default Web Site").
I have just spent a day trying to get this working. i found this here (search for posts by GuardRex) invaluable, complete the steps the accepted answer gave, that's the start of it.
Pretty much if you try to add an application to a site there is bunch of workarounds and extra configuration needed that is detailed in the link.
For starters:
1)Make sure you have the HttpPlatform handler installed here
2)Seems obvious but make sure .net5 is installed on your server here
I know this is if you are adding an application to a site, but there's some pitfalls and much needed refinements needed for the deployment process at the moment that everyone should be aware of.

Azure Mobile Services on Local IIS rather than IIS Express

OK, I've created an Azure Mobile Services project in Visual Studio 2013.
I run it up as-is, then in the browser I test it by adding a todo item via the simple browser app that seems to get baked into these service projects. It gives me a '201 success' message - brilliant.
I then convert the project from IIS Express to Local IIS as the web host, recompile and try again, and although I get the same smiley face app telling me that everything is OK, when I try and add a todo item I get a 404 error. This is contrary to the Microsoft article that gives these instructions, which clearly says I am able to choose either IIS Express or Local IIS when setting up the project.
My guess is that web.config is missing something when this project runs on the local IIS server.
I'm hoping someone already has a solution before I spend hours trying to work out how to configure IIS for this type of project.
I've already wasted a load of time working through loads of bugs and gotchas with Azure Mobile, and I'm starting to run out of steam - so I'm hoping someone can help me before I go and grab an account at Parse.com
Many thanks in anticipation.
Dean
The easiest approach for your situation might be to just deploy to the cloud, and use that service for your testing. Visual Studio 2013 Update 2 makes it easy to deploy your app and connect to it for remote debugging. It is a little slower than using a local instance, but you are also assured that there will be no surprises when you eventually go live (since you are live the whole time).
That said, we will investigate the issue you are seeing with using IIS directly. Some things you might want to try on your own:
Verify that you can view the web side from your Mac's browser, to make sure that the firewall is letting the requests through.
Try using the "Getting Starting" link from the smiley-face page, to see if the REST endpoints are behaving correctly.

unable to launch iis express web server port 80 is in use

I have MVC4 web application project in visual studio 2010. When I want to start it, I have the following error:
Unable to launch the IIS Express Web server: Port"80" is in use.
The problem came after changing the property "Use Local IIS Webserver"
http://blog.lextudio.com/2012/10/port-already-in-use-then-who-uses-it/
If you already have something monitoring port 80 (such as full IIS), then you cannot use another thing to monitor the same port.
Thus, if you do want to use IIS Express, make sure in Project Url: field you specify another port number other than 80.
In VS 2013:
Go to your Web Project Properties, Web Tab.
Select "IIS Express" from the dropdown.
Enter a project URL, such as http://localhost:64510/
If you have "Override application root URL" checked, uncheck it.
The port is probably in use. I usually end the iisexpress.exe. This works if for some reason the port is open and you want to close it.
CTRL+ALT+DEL -> Task Manager ->End process for iisexpress.exe
I just had this happen to me, and didn't understand why as everything had worked fine until restarting my machine. Seems that the full IIS service was running, but only within the manager had it been STOPPED, so when I restarted it turned back on.
FIX IT THIS WAY:
Open up the Internet Information Services (IIS) Manager (use search programs and files, too. See image)
Right click on localhost (top level, left pane), select STOP. Not called 'localhost'? This will probably be called your machine name, but if you hover over the top level on the left pane, you should see 'https://localhost/'. This is what you want. Right click and select STOP.
Now, this is assuming you only want to run IIS Express sites, as anything that required the full IIS won't be running. You should be good to go!
If IIS is running and you are using IIS Express you should stop IIS for it to work.
Such error can appear when YourApp.csproj file contains conflicted settings.
<!-- conflicted settings -->
<UseIISExpress>true</UseIISExpress>
...
<IISUrl>http://localhost/application/</IISUrl>
If you want to use IIS Express you should change IISUrl to http://localhost:11222/ or another free port.
<!-- settings for IIS Express -->
<UseIISExpress>true</UseIISExpress>
...
<IISUrl>http://localhost:11222/</IISUrl>
If you want to use IIS you should set UseIISExpress to false.
<!-- settings for IIS -->
<UseIISExpress>false</UseIISExpress>
...
<IISUrl>http://localhost/application/</IISUrl>
Another answer does mention this, however, if you're using IIS Express within Visual Studio AND have IIS enabled in Windows Features; It will be the "Default IIS Site" that is using port 80. Simple open IIS and stop the site running by right-clicking on the top node.
Sql Server could also be the culprit. I stopped Sql Server and it freed up the port.

Resources