ASP.Net Development Server performance - asp.net

I am developing a simple ASP.Net application on a Windows 7 x64 machine using Visual Studio 2008 SP1. The computer itself is a very strong machine.
I am using the built in development server for debugging.
Starting the debug process takes a mindblowingly long time (~20 minutes until the first page is loaded). Sometimes the pages load immediately. I encounter this problem only with web projects, windows forms project work as expected.
What could be the cause? How can I make the development work like it worked on an XP machine?
Edit:
The web pages are normal pages, no heavy code, so this cannot be the reason.

try this fix for VS Studio 2008 http://support.microsoft.com/kb/946581
This fix was not included in Microsoft Update. It fixes slow build time and many more and is recommended for users that experience problems.

The main reason is probably because on each change of a page, there is a batch compile of a lot of files, on the same directory. To avoid the batch compile use this flag on the web.config. That way only the changed file will be compile, the one you work on it, and not others.
<compilation batch="false" ... >
Relative :
Slow Performance -- ASP .NET ASPNET_WP.EXE and CSC.EXE Running After Clicking Redirect Link

Related

Debugger For Visual Studio is not Working

I am facing a very serious issue with visual studio debugger. My asp.net application is hosted on local IIS server. Yesterday i was debugging my code suddenly it stopped working. I verified w3wp process. It was same as IIS process. Then i tried to download symbols but i am not sure either they are all that i need. I tried attaching debugger on visual studio 10 and visual studio 12. Neither of them is working in this case. I tried to attach debugger of JavaScript but it is also not working.
Please Help.
Are you building full debugging symbols? If not then the debugger has no information to relate the source code to the in memory activity under the debugger. This is set in the project properties per configuration.
Also ensure the symbols are in the bin folder.
You can validate that VS is loading the right symbols with the Debug | Modules window.
I cleared temporary cache of .NET Framework. then i again deployed my application on IIS with different name and magically everything started working.

What would cause an AnyCPU web application to only work in 32 bit mode?

I have a .net mvc web application hosted on an IIS 7.5 web server. There are several dozen other applications on this web server, all in their own application pools. ALL application pools are 64bit and things have been working fine for some time.
Last night after making a few client side changes to the site in question I published and received the error, "Could not load file or assembly 'EntityFramework.DLL or one of it's dependencies. is not a valid Win32 application. See screen below.
I ran into this error several years ago and found that by switching my app pool in IIS to 'enable 32bit applications' fixed it. This time around however, I want to understand why this is happening. There should be no reason I can't run in 64bit mode.
I know the cause could be many things so I will just list some of things I have tried. Perhaps someone has an idea where to start.
In visual studio 2013 update 4 my application is set to build for 'AnyCPU'. I have tried building exclusively for 64bit and got the same error.
I am using EF 6.1.1 with data migrations
My web server is running windows server 2008 64bit w/ iis 7.5
My development machine runs windows 7 64bit and IIS 8 express. My app works fine in this environment
I do have references to other projects that reference EF. If their version is not consistent could this be a problem?
My application targets .net 4.5 and I have that version installed on my server.
The only changes I made to this commit from the last working one were some client side code and one new migration that involved adding a new nullable string/nvarchar property to a table.
I did update to visual studio 2013 update 4 between last commit and this one.
Any ideas? Thanks ahead.

ASP.NET MVC 4 example and IIS Express is too slow loading pages

My problem is that I've created an ASP.NET MVC 4 project in VS2013, and I haven't modified anything.
When I run the code, it takes a long time to get to the main page (Home), and I can understand that takes some time to load the symbols. But even when I'm in the homepage, moving through the About and Contact options are very slow, taking 10 seconds at least in load each option (or even 15 seconds).
Some of my mates when reach the Home page work smoothly, but not my case.
What can I do? I've tried to load Microsoft Symbols Servers in a Cache Symbols Directory, and the Enable Just My Code option is checked, I've even tried to reinstall Visual Studio... :S
The IIS 8 version is the default one installed with VS2013 Ultimate (I have Resharper installed what may cause even slower loads).
I know this is not exactly a code question, but maybe it implies some modification in it. Repeat, I create this kind of project with its default code.
Maybe VS2013 & IIS8 doesn't work properly on Windows 7? Maybe is resources problem? (I have 4GB Ram).
I'm currentyl working with VS2013, IIS8 & Entitiy Framework 4.5 (same happens with 4) in a PC with Windows 7, I7 2.36Ghz, and 4GB RAM.
Any advice is welcome.
Thanks
What CPU and how much memory? Start perfmon before running, that will give you an idea where the problem may be. On a reasonably sized PC there are no noticeable delays post startup with visual studio 2012.

How do I test running my ASP.NET web app as a 64-bit process on a development server with VS2010?

My task is simple: I need to test my ASP.NET web application in a 64-bit environment on my development machine. (At this point I don't even ask about running it through a debugger. All I need is to run it in a 64-bit process.)
So I created a stock C# Web Application in Visual Studio 2010 and adjusted its properties as such:
I then did Ctrl+F5 (or run without debugging) and IE loaded up and hangs up like so:
What am I doing wrong here?
PS. Running it on Windows 7 Ultimate (64-bit).
We had the same problem and when the team jumped to Visual Studio 2012, this registry key was really useful to us :
you can add a registry key to force visual studio to use the 64 bits version of iisexpress.exe ; unfortunately for you, it is a VS2012-only solution.
reg add HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0\WebProjects
/v Use64BitIISExpress /t REG_DWORD /d 1
Then restart Visual Studio and tick [X] Use IIS Express in your settings.
(see also the source).
UPDATE: For reference, in Visual 2013, this option can be found in the interface : Options/Projects and Solutions/Web Projects/Use the 64 bit version of IIS Express for web sites and projects
In IIS make sure the Application Pool, Advance Settings, Enable 32-Bit Applications = false
If this setting is true then the worker process will run as 32bit WOW64 process.
Chris
No settings required in project or solution level. I am developing WebApp on VS2010 on 32 bit and 64-bit machines simultaneously. Actually We are working on SVN and our few machines have Win7 32-bit and my few mates have Win7-64bit laptops. But there we haven't faced any such issue while compiling the app on two different machines and Even on the live server, it runs butter smooth. Hardly care about the bit and bytes.
To verify a test run. Publish your code and host in your local IIS or Cassini Webserver and access it over LAN.
Also if possible revert back solution and project settings to its original configuration settings. Generally, We do not need to change target until and unless it is strictly required. As, AFAIK, It compiles the assembly under "Any CPU" as target, which is eligible for all i.e. IA, X64 and X86..
Finally, if you are coming across any error, please do post it here. It will help you and us as well.
First of all how to do you know if your IIS process is running your website as 32-bit or 64-bit as of now?
Open Task manager to check the bitness of w3wp.exe. If your machine is 64-bit then IIS will run 64-bit by default. Your problem seems to be something else. If bitness is the issue then you won't even come this far. Check IIS logs (c:\inetpub\logs{website-ID}{date})... that might give you some pointers. If there is nothing in there, check event viewer. If nothing then check if the virtual directory is actually created in IIS Manager under Default Web Site.
Have you actually tested if IIS (sans ASPX) is functional? http:// localhost ? does that work? if that is working then I would recommend checking if your ASP.NET modules are properly installed within IIS.
Hope this Helps.

Debugging in Visual Studio 2012 is slow

We have a large ASP.NET application that has been built over the last decade and is now running in .NET 4.0.
Recently, we upgraded to Visual Studio 2012 Premium (from 2010 Premium).
Our application compiles successfully, and when we run/debug our application its from a local IIS on each one of our developer workstations (versus using using the development server).
Ever since upgrading to 2012, when we are debugging our application, we have noticed the application to run VERY slow in loading ASP.NET pages, it can take nearly 20-30 seconds per page. But, when we access the application straight to the local IIS and without using the VS2012 debugger, it runs great. Something about debugging in Visual Studio 2012 on our application is slowing down our application performance significantly.
Is there a good tool we could use to capture what is going on in the background?
Also, this is happening on both Windows 7 Enterprise machines and Windows 8 Pro machines. All 64 bit with 8+ GB of RAM, and Intel Core i7 processors.
Thanks for any help.
My debug on VS 2012 was very slow, it was taking 20~30 seconds for every step.
My solution was disable the .NET Reflector extension.
Go to Tools - Extensions and Updates - Disable .NET Reflector.
Try to delete all breakpoints, then clean and rebuild solution and debug it again.
Maybe your application is throwing and catching lots of exceptions? This can really slow things down in debug mode. Set the Exceptions properties to break on CLR exceptions and see if this is the case.

Resources