Branched Site Deployment Problems - asp.net

I have branched some code on my dev machine for an ASP.NET Webforms app. .NET 4.0.
The working copy (original) runs on IIS 7 localhost in an IIS Application.
I thoguht I would keep things simple and configured the branch site to run in Cassini. The page that rendered was a grey page with Diagnose Connection Problems button. It had a heading "Internet Explorer cannot display the webpage". Fiddler revealed a 302 reponse code. No idea why a redirect is occurring.
So, not wanting to waste time, I changed the configuration to use IIS 7, created a new IIS Application for it.
The exact same result when trying to run the app. So, the result is common, regardless of whether I use IIS 7 or Cassini.
Has anyone experienced this? Is there something I'm forgetting to configure in the application.
Cheers.

I have resolved this now. I'm not surprised that no-one answered, as this was a really weird scenario with a fix that does not obviously address the issue.
I had to do two things:
1 - delete the Global.asax and create a new one, making sure that it inherits from the Microsoft.Practices.CompositeWeb.WebClientApplication class.
2 - in the RadScriptManager (a Telerik component), change the RadScriptReferences to normal ScriptReferences.
I have no idea why these changes were required. But they worked.

Related

ASP pages do not load

First off, I'm not a web developer, so I might be asking the question in the wrong place. Unfortunately, I've tried searching regarding my problem but most of the issues I see are web-developer server side issues, so I'm runnig out of places to turn.
The problem: I'm trying to navigate a website, and eventually it decides to try running a ".asp" page. However, my browser just hangs (attempted Firefox and IE11), until it eventually times out. However, when I've run the same website on other machines (such as my phone), those pages load flawlessly. The fact that it's browser independent seems to suggest it's something with my local machine (Win7). I've ensured the IIS feature is turned on and the process is running, but still nothing.
The only other evidence I have is while searching for ASP tutorials, there was an example designed to show the current date/time which didn't work. The rest of the page which was straight HTML was then fine. I'm not sure if it's possible that some native binary for a scripting language isn't loading, but I'm not sure how I can debug that.
To summarise, my questions are as follows:
What could stop an ASP page being loaded on a client machine?
What can I do to ensure the right dependencies are present on a client machine such that it can load ASP pages?
To note, I'm not aware of anything I've installed which would affect this. The only code related program on my PC is Visual C++ Express 2013, but I'm not sure what that would do. .Net 4.5 is installed but I don't know how to tell what script the asp page is attempting to execute.
* What could stop an ASP page being loaded on a client machine?
IIS?
IIS is the one responsible for parsing asp code.
IIS takes your ASP code, and then, transforms it into html code, then sends it to the client.
There might be an issue with your windows 7 computer, but there is nothing related to ASP.
* What can I do to ensure the right dependencies are present on a client machine such that it can load ASP pages?
There are no such dependencies. Your client makes a call to a server, which returns html code.

asp.net sitemap security trimming not working when deployed

I have basic forms authentication set up and it works just fine locally against IIS express. When I deploy, the sitemap security trimming stops working (menu items are showing that shouldn't be there). If I try and go to one of the nodes that shouldn't be there with a user that does not contain the role required, they get kicked back to the the login screen. Because of that that, I know authentication is working properly.
Another developer I work with has it working just fine locally on his machine as well. The deployed web server is where it no longer works.
I don't believe there is a problem with any of the markup sine it works locally, so I'll withhold from posting the code. Every single example on the web matches up with what I have. The code also resides on a network on with no outside access.
No other posts have been found where someone ran into this issue.
Thanks in advance
After lots of experimenting, we think we narrowed it down. We are forced to use cookie-less session state on this system and that seems to be the problem. Our development machines have a major difference in that they have .net 4.5 installed on them. The production server as well as a few other developers only have .net 4.0 installed. If we allow a cookie, it works just fine. It seems that the paths are not being handled properly on the 4.0 machines in cookie-less session state which breaks the security trimming. Some more testing is needed to verify this. Unfortunately updating the production machine is not an option.

Changes to razor view not showing

I have made some changes to a view in my ASP.NET MVC3 application, but the changes I have made are not showing up when I test/debug the site within the browser. The changes I am making are simple text amendments to the markup.
I am using the Visual Studio development server for testing the application.
The odd thing is, I have tried publishing these changes to IIS and the changes I have made to the view are working when I test the application using the IIS server.
It is only when testing in the Visual Studio environment that this seems to happen.
Thanks,
A common problem i've run into is when you are not using IE and you close the debug session, but not your browser.
This means that the "IIS/development server" is still running in your system tray, but it is running on the old compiled code, if you hit ctrl + shift + b, you build your entire solution and re-publish your code to your development server. this allows you to hit refresh (F5) in your browser and the changes you've made to the razor view should now be reflected in your browser.
Are you using IE? Maybe deleting the cache or using another browser should work? I've had a lot of problems with that :D
Solution is to use IIS Express. For some reason, the VS development server doesn't recognise changes to code behind - nothing to do with caching on the browser.
However the location of the source code as suggested in other answers is important - it works for me using the c:\windows folder or c:\users\DefaultAppPool - apparently it has something to do with security to ensure.
Only applications running under the 'DefaultAppPool' identity are permitted under IIS. So, for anyone using a VM and mapping the host OS code folder you won't be able to rectify this unless you copy to a local folder in the c:\users\DefaultAppPool folder.
You may also now have difficulties accessing the SQL server database established for the Membership Provider under ASP.NET. For more details on how to fix that, I've posted on my blog.

what's removing my basic authentication header?

I'm having some problems running a webservice on my local machine. it's an asp.net webservice, which is using a .Net 4.0 Classic application pool. It works fine on everybody else's machine, and the live servers.
The problem: most request rely on basic authentication, which fails every time, with the correct credentials. Debugging, I can see that the basic authentication part of the header has been removed by something along the chain.
also, Application_BeginRequest in global.asax gets hit twice. Once with the original header (which then appears not hit any of the webservice endpoints) and then with the basicauth-less version.
The issue seems to go away if I switch the app pool to integrated, but unfortunately this isn't an issue as it fails for different reasons then.
I'd welcome any ideas of what is removing the basic auth from the header. I thought perhaps something in my IIS config, but I've reinstalled IIS without any luck.
Well it's fixed now. The noly thing I believe I changed was installing SP1 for visual studio 2010. I'm very doubtful that that was really the source of the problem though

Will running aspnet_regiis.exe -ir create any problems?

I've asked a question about changing the version of .Net sites in the IIS. If it affects classic asp sites etc (See Does asp.net setting affect classic asp (IIS 6 settings))
And that seems fine. So my follow-up question is, will running this command get me fired? What it does is changing the default value (and all existing?) of the .net version to 2.0.
This wont affect any of the .net sites since they're allready versioned to 2.0.
The classic asp pages needs to get its app pools updated so its functionoal with 2.0 but may I run into any other troubles?
I've tried doing this on a test environment and no sites whet down during the installation period (from the command) but I did not have any classic asp sites or any .net sites running though (which I should test, come to think about it) but may something else break?
Is this command doing anything else? We have some very large sites running and we cannot have downtime periods so I need to be 100% sure that this command is safe. Since all sites go down everytime we change a new sites .net version number we need to get this fix live asap.
Any good ideas?
This should not cause any side affect as it relates to what the IIS does with .NET pages (e.g. aspx extensions).
Since the classic asp pages are not handled by the .NET extensions in the IIS I can see no reason to worry.
EDIT:
According to MSDN you can use an option
-norestart - inhibits the restart of the World Wide Web Publishing Service after installing or updating ASP.NET script maps. If you do not use this option, all application pools are recycled.
so you can see from that application pools will be recycled.
long time since I asked, but Dror, thanks for your edit. I'll be sure to try it.
I actually found a solution to this problem some months ago.
You can export a sites configuration, and you get a XML file, edit this file and set the site name etc to something (like dev1). Then you import this and you got yourself a new site with .net pre-configured. Just make sure you change the name and other things that cannot be the same as another site (like host things, cant remember exactly what parameters there were) because that would cause a problem I guess.
Happy iising

Resources