Here’s a hierarchical view of the IIS 7.0 Configuration Store
Tom Woolum’s Blog : The Official Microsoft IIS Site – IIS 7.0 Configuration Store Hierarchy
Some development in .NET, Angular, TypeScript, CSS, and also something completely different
Here’s a hierarchical view of the IIS 7.0 Configuration Store
Tom Woolum’s Blog : The Official Microsoft IIS Site – IIS 7.0 Configuration Store Hierarchy
A while back we updated VS2008 IntelliSense to not fail when referencing jQuery. However, getting IntelliSense for chained calls and rich summary/parameter hints still required adding special comments to a few thousand lines of jQuery. If you didn’t have the time, you could download such a file from friendly members of the community such as James and Brennan.
Visual Web Developer Team Blog – Rich IntelliSense for jQuery
In this blog entry, I list the essential tips and tricks that every developer who uses Visual Studio 2008 should know. I wanted to keep this list brief. I also wanted to focus on only those tips and tricks that I use on a daily basis. Almost all of these tips and tricks are just as useful regardless of whether you are building an ASP.NET Web Forms or ASP.NET MVC application.
Stephen Walther on ASP.NET MVC – Essential Visual Studio Tips & Tricks that Every Developer Should Know
When Netscape started the Mozilla browser, it made the conscious decision to support W3C standards. As a result, Mozilla is not fully backwards-compatible with Netscape Navigator 4.x and Microsoft Internet Explorer legacy code; for example, Mozilla does not support as I will discuss later. Browsers, like Internet Explorer 4, that were built before the conception of W3C standards inherited many quirks. In this article, I will describe Mozilla’s quirks mode, which provides strong backwards HTML compatibility with Internet Explorer and other legacy browsers.
Today IIS team has made the Go Live release of URL Rewrite Module for IIS 7.0 available for download. This release contains significant functionality and performance improvements and it is believed to have a quality level suitable for production deployments.
Today I got this error message: "The type ‘<class>’ exists in both ‘<dll location>’ and ‘<dll location 2>’"
I remembered I encountered it before, but I didn’t remember the cause, nor the remedy. That’s why I keep this blog to post such things that you learn somewhere that, by the time you get the same problem again, you’ve forgotten the solution and you can get back here and help yourself.
I remember I had this error message before, so I went to my own blog searching for the solution, but it wasn’t there. I either forgot to blog about it then, or it must have been before I started to use this blog as my extended memory. So now it’s time to store this solution in the extended memory right away.
The reason why you get this problem is that there are 2 dynamically created dll-files defining the same class. At compile time, there’s no problem, so it must be a problem in the aspx-pages themselves.
I didn’t have time to figure out what the real cause was, but Google came up with 2 forum post which gave me the answer (of course there were more, but why look further?):
ASP.Net Forums and MSDN Forums
The problem with me was that I had a CodeFile="Page.aspx.cs" in the Page directive in the Page.aspx file. It’s automatically generated when you create a new page, and it didn’t cause me any trouble before. The only thing I was doing today, was refactoring my base page and master page. So there must have been some confusion there.
I don’t know wether this is a bug, or my stupid mistake, but anyway, after replacing "CodeFile" with "CodeBehind", everything went back to normal and the pages worked again.
So the next time I receive this error, I know how to resolve it.
I started to use URL Rewriting on a Windows 2008 Server running Internet Information Server 7. At the time of writing, a technical preview of the module is available here: Using URL Rewrite Module.
After installing the module, I was able to configure a first rule that rewrote an incoming URL in the form of http://server/en/catalogue/123/abc123 to http://server/Catalogue.aspx?l=en&cat=123&sub=abc123, exactly the way I wanted it.
But when opening the page, I saw my layout and styles were gone. Not difficult to know where the problem is, because stylesheets and images are loaded from the client with their path relative to the requested page. In this case a reference to "style.css" will be loaded from http://server/en/catalogue/123/style.css instead of http://server/style.css, as the client doesn’t know we’re using URL rewriting on the server.
To get around this problem, several options are possible. I’ll list few of them here, some good, some even worse. Of course, these are not the only ones, but these were the ones I looked at to solve my problem. Other solutions might be even better, so any input and feedback is welcome. My solution is much easier and fits my needs. It’s posted below the other options.
But why don’t you use the power when you’re using the force?
I wrote a rule that is processed before any other rule, and which takes any url pointing to file in an App_Themes folder (or just a stylesheet, which is also possible in the same way):
If you make sure that this rule is processed before the other regular rules by moving it to the top in the ordered list, than all references to theme files (stylesheets, images,…) are correctly served and your layout remains correct.
One of my passions is optimization. There’s no code related task I like more than making something run better, faster, snappier – from tweaking UI registry keys to stripping out crap code – I want results. Usually if something is noticeably slow on the user’s end, there’s something fundamentally wrong that can be made faster – a lot faster.
PHP vs .Net – ASP.Net Load Testing and Optimization Toolkit – So you want to be a hero
I thought I would share this list of reference cards / cheat sheets that I have compiled over the last year or so. If I am missing any good ones, please post them in the comments.
Alvin Ashcraft’s Morning Dew – .NET Developers’ Reference Card Roundup
Exception handling plays an important part of application management and user experience. If implemented correctly it can make maintenance easier and bring the user experience to a higher level. If not, it can be a disaster.
How many times have you seen the error message that doesn’t make any sense or at least provides some valuable information, or even better – how many times have you seen the famous error screen with exception message and a complete stack trace on yellow background? Too many times, I would say. This is why, among other things, some of my colleagues were very interested in exception handling techniques and best practices.
The goal of this article is to provide an overview of what exception handling is from the user perspective and the perspective of people who maintain the application, and to show the best practices of how to implement useful error handling in ASP.NET web applications. This article is related to my previous articles CSS Message Boxes for different message types and Create MessageBox user control using ASP.NET and CSS since this two articles describes how to show user-friendly messages.
Janko At Warp Speed – Exception handling best practices in ASP.NET web applications
I know, I know, this has been done before. The reason I’m writing this post, however, is to improve on what I have found on the web. For anyone wondering what jQuery is, goto the jQuery site and also read this tutorial. Now onto the good stuff….
If you are like me and you’ve read the many articles about how to get other javascript libraries to work in VS2008, you’ll know that all you really need to do is install the visual studio HOTFIX. This patches your VS and among other things, gets the javascript intellisense working nicely.
BradVin’s .Net Blog – (Better) JQuery IntelliSense in VS2008
There are all sorts of different inline tags, and I haven’t found a place that explains them all in one place, so here is the quick and dirty…
Naspinski – Inline ASP.Net tags… sorting them all out (<%$, <%=, <%, <%#, etc.)