Archives

Archives / 2008
  • Modifying the HTTP Response Using Filters

    When a browser requests an ASP.NET page from a web server, the ASP.NET engine takes that request through a number of steps that, together, generate the resulting markup, which is returned to the requesting browser for display. The stages in this process are referred to as the HTTP Pipeline and perform tasks like authentication, authorization, and having the requested page render its content. During one of the later stages in the HTTP Pipeline the rendered markup is handed off to a response filter which, if supplied, has an opportunity to inspect and modify the markup before it is returned to the requesting browser.

  • How a screen reader see your page, use Fangs

    Fangs is an in-browser tool for Firefox that emulates what a screen reader “sees” when visiting a Web page. Its function is simple: to output a transcript of what a screen reader will read out to a user when a Web page is visited. It’s a helpful tool for quickly analyzing if you’ve structured your content effectively so that it’s understandable and usable by vision-impaired individuals, without forcing you to learn to use (and purchase) a screen-reader application such as JAWS or Windows Eyes.

  • Taking an ASP.NET Site Offline with a Message

    This was another one that I was literally beside myself that I didn't know this one before. A fellow business partner of mine named James Sutton mentioned this one to me. This one's been around since ASP.NET 2.0 as well. If you have an ASP.NET web application site, and you place a text file named "app_offline.htm" in the root of the site, all requests to that website will redirect to that app_offline.htm file. Basically, if you need to take an entire ASP.NET site offline, you can place some nice message in that file. Then, any new requests to a URL, any URL, in that website will redirect to that file allowing you to do maintenance to the site, upgrades, or whatever. It is not really a redirect though. ASP.NET essentially shuts down the site, unloads it from the server, and stops processing any requests to that site. That is, until you delete the app_offline.htm file - then things will continue as normal and your ASP.NET site will load up and start serving requests again. 

    A super-cool side effect of this is that any files that are locked by the site, such as a database or other resources, are freed since the application domain has been unloaded from the server. This allows you to remove the locks from those files and replace them, without the need to do a full IISRESET, taking down other sites on the server. One thing to keep in mind with this file however, make sure you out enough content in it so it is larger than 512 bytes or IE will consider it a 404 and will display the 404 instead of the contents of your app_offline.htm file.

    Thanks to Ryan Farley for posting this tip...

  • New Image Generator control in ASP.Net 3.5

    Storing images in database BLOB field and displaying it on aspx page is one of the common tasks we do in asp.net projects.  Asp.Net itself does not have an in build control to bind the image stored in database. To display an image stored in database, we will write an HttpHandler which will fetch the image from database and do a binary write. We all know that doing a binary write will become cumbersome when the number of images increases and the number of users becomes high. This week Microsoft have released a new control called ASP.NET Generated Image control to display image in ASP.Net page. This article will give you a kick start on this control and some of its features.

  • ASP.NET AJAX Page Methods

    Simply put, a Page Method is a page specific WebMethod.  Instead of creating a full web service for your method, you can conveniently create a method in your page and use it from client-script.  Let's look at how simple it is to use them...

  • SQL Server 2008 - Merge Statement

    In this article Nidal Arabi examines the usage of a SQL Server 2008 feature named Merge statement. It is a new T-SQL Statement that allows you to perform join of tables and then apply one of three different operations on the result set. He demonstrates the concepts with the help of step-by-step explanations accompanied by relevant SQL statements.

  • Slider AJAX control in ASP.NET 2.0 and C#

    In this article Joe Maguire will explain how you can easily create an AJAX enabled web site within Visual Studio 2005 utilizing C# and how to utilize the AJAX framework to add a simple control from the list of controls available in the AJAX Control Toolkit.
    The AJAX control we will be working with in this article will be the “Slider” control. We will also learn that the Slider control can be manipulated via its properties to display horizontal or vertical as well as allowing you to have incremental steps or a smooth non-step motion.

  • The .Net Coffee Break Show 5 - Ajax Data Binding with Dino Esposito

    Developers.ie invites all our members to attend our regular webcast.
     Dino Esposito
    Our next speaker is Dino Esposito, with a talk on AJAX Data Binding.
     
    Dino is the author of Programming ASP.NET 3.5 Core Reference (Microsoft Press, 2008) and other best-selling books such as Introducing ASP.NET AJAX (Microsoft Press, 2007) and Programming Microsoft ASP.NET 2.0 Applications-Advanced Topics (Microsoft Press, 2006). He's also the author of the "Cutting Edge" column on MSDN Magazine and a frequent speaker at industry events worldwide, including Microsoft TechEd, DevConnections and in Europe, DevWeek and Basta.

    ASP.NET AJAX excels at connecting client code with remote services, but it doesn't provide just as yet an as much excellent mechanism to consume downloaded data within the client browser.

    No doubts that this aspect of AJAX programming will be greatly improved in the near future; however, for the time being, ASP.NET AJAX doesn't offer a UI model as rich and well done as the server-side service model. In this webcast, dino will discuss client-side templates and data binding for an effective and JavaScript-powered consumption of server data.

    This will be broadcast live on Tuesday 9th of September at 11:00 (Irish time!)

  • The .Net Coffee Break Show 3 - ASP.NET MVC with Stephen Walther

     Developers.ie invites all our members to attend our regular webcast.

    We think that during your coffee break is the right time to attend a short talk on various subjects, starting with Silverlight this month.

    Our next speaker is
    Stephen Walther, Microsoft Senior Program Manager and famous ASP.Net Unleashed author. Stephen Walther

    ASP.NET MVC is Microsoft's new framework for building web applications. In this talk, you learn how ASP.NET MVC framework differs from the current ASP.NET Web Forms framework. You learn how to take advantage of ASP.NET MVC to build loosely coupled, highly testable, agile applications. You also learn how ASP.NET MVC provides you with fine-grained control over your HTML and JavaScript.

    This talk focuses on a short walkthrough of the process of building a simple data-driven MVC application. Stephen Walther is a Microsoft Senior Program Manager who works with the ASP.NET MVC team to develop content around ASP.NET MVC. He is the author of the forthcoming book ASP.NET MVC Unleashed. Read his blog on ASP.NET MVC at
    http://StephenWalther.com

  • LINQ in Multi-tier Applications

    If you had the chance to work with LINQ, the latest Object Relational Mapping tool (ORM) added to the .NET 3.5 platform, then you understand how LINQ maps your database structure into several classes in your application. It creates for each table an entity class that has its properties mapped to the columns of the table in context. The whole point of ORM tools is to bring the database structure up to the language’s level so that your code would be aware of the structure at compile time. Nowadays developers tend to divide their application’s architecture into several distinct layers, usually 3 layers:

  • Dynamic UpdateProgress Control

    Jamie Pompu has spent the last week playing with the UpdateProgress control as part of the Ajax Extensions. For the most part, the control itself is quite nice to use but, there was one thing that he found to be a real pain;h e could not get the control to hide an area of a page while it was activated. Although this sounds trivial, it got to be a real pain trying to find areas in his page design that would lend well to an UpdateProgress being displayed and still be intuitive to the user what was happening.

  • Display an image loaded using Windows Imaging Component

    Windows Imaging Component (WIC in short) is the new platform to load, save and convert images between various image formats, including the latest HD Photo format designed and aggressively pushed by Microsoft, to be the JPEG2000 replacement. Unlike JPEG2000 which is plagued by various patents issues, HD Photo standard is a open standard which is free for all to use. HD Photo has a compression rate and picture qualities better than JPEG and JPEG2000. Windows Imaging Component is also a platform for programmers to write their own image codecs for their own image format or RAW images from digital cameras. The standard codecs, which are provided in the Windows Imaging Component, are more secure than those provided by GDI+. WIC only provides ways to load and convert and save images; To display an image loaded by WIC, you either use Device Independent Bitmaps(DIB) or GDI+. The sample code provided by Microsoft uses DIBs which are difficult to use. For this article, we will use GDI+. The advantages of using GDI+ is that you can do drawing or further image processing on the GDI+ image.

  • Add Custom Configuration Sections into a Separate web.config

    Adding custom configuration sections lets you leverage built-in .NET configuration mechanism to employ strong-type objects to access the configuration content without taking care of manipulation of XML1, 2. This article introduces a tip about how to add your custom configuration sections in “another” web.config while not losing the support as in the web.config located at the root of Web applications.

  • Search Ajax control

     Highrise and other new Ajax enabled tools have this feature that when you type in a search query, it automatically updates the search results below. It's almost like a Auto-Complete Box, but with full results on the page instead of a drop down list below the control. Unfortunately I didn't find anything like this in the Microsoft ASP.NET Ajax Toolkit.

  • Error logging techniques using Database

    Nowadays error logging becomes mandatory and there has been lots of techniques/API's to log the errors. We develop a ASP.NET application and it works fine on your development machine, and when we deploy the application to the production we set the <compilation debug="false" ...> element in your web.config , of course it is the best practice, which makes the error not visible to the end users.
    Well, now, we got some exception and we wonder what is that error and you don't have any clue about error since we have not logged the exception and we were left at no man’s land and makes the developer job very tough without any clue about the error and hence we expect is to log the error and a notification mail to sent to the development so that we make the developer job much easier which is even best practice.

    In following article we are going to cover the topics on how to log the error in a simple way and of course in a efficient manner.

  • ASP.NET/Silverlight component development

    Almost all of the Silverlight demos you see out there are completely client-side, and invoke Web services to post/get data. This approach makes sense, but when you want to use Silverlight to functionally enhance your existing website, you may want to have some kind of integration between Silverlight objects and your server-side controls.

  • Scrolling Data Pagination using Ajax

    Tired of continuously clicking next page, next page, next page to find the data you are looking for? I always thought this was just something you had to deal with when viewing data on the Internet, that was until I took a look at the new Microsoft live image search. Instead of forcing the user to click next page to paginate the data the page catches the scroll event and fetches the next page of data and adds it to the output asynchronously. In this project I will expand upon my previous project Using Linq to paginate your ObjectDataSource, replacing the standard grid with a scrolling paginated grid. This example works by first creating an Ext JS grid, making a call to a custom json rpc handler to retrieve data, and by adding an event listener to the scrolling event of our grid. This article will focus primarily on the AJAX portion of this project to read more on the underlying data pagination technique please take a look at the previous version of this project.

  • Useful Extension methods

    In this article, Brian examines extension methods and how they can be used with .NET Framework applications. He begins with a short introduction and then provides a detailed explanation of the application of extension methods with the help of source code in C#.

  • Role Based Forms Authentication

    Using Role based forms authentication, we can restrict users of the site to accessing certain resource if they are not part of a particular role. In this article, Satheesh demonstrates how to build sites with this type of authentication. He provides a short overview of various Login Controls and Providers and then discusses a scenario with detailed explanation of various aspects of the sample application with screenshots and source code.

  • Implementing a Session Timeout Page

    In this article, Steve walks through the steps required to implement a Session Logged Out page that users are automatically sent to in their browser when their ASP.NET session expires. He examines each step with the help of detailed explanation supported by relevant source code.

  • Dynamic GridView and DataList in ASP.NET 2.0

    Sometimes we may be required to build GridView and DataList dynamically with different styles and with child controls in our project. This article will help you accomplish this task in ASP.NET 2.0 with the help of a case study. Satheesh first provides a brief overview of the scenario and then explores the step-by-step implementation of each module with supported source code. The steps include creation of a Template class, implementation of a dynamic DataList, using the Template class in DataList, implementation of a dynamic GridView, and the usage of Template class in GridView. The article is accompanied by the related Visual Studio project which enables you to instantly test drive the application.

  • Encapsulating Google's MapData

    Florian Drevet show you how to build a basic ASP.NET WebControl whose goal is to use Google MapData “feature” (in few words : an dynamically generated image with basic Google Map features)

  • Useful Generic array functions

    The standard .NET Framework offers quite a few generic functions to munipulate arrays, however there are some functionalities where extra code will be needed such as Appending to the array, removing an element from the array, or removing all elements that fall under a condition.

  • Login/SignUp Screen Using Ajax ModalPopup Extender

    This is a sample application which shows how to use ModalPopupExtender for Logging and Signup for any ASP.NET web application. In this quick demonstration, the author show how we can implement Modal Dialog Box using AJAX in ASP.NET. Modal Dialog Box (Formally called ModalPopupExtender) is extremely essential in today’s application as it avoids redirecting to a new page just to login or signup the users. A simple example can show how to implement the same.

  • Accessible UpdatePanel

    UpdatePanel is a great way to add Ajax features to an ASP.NET application at a minimal cost. Because it's based on regular postbacks, it also degrades gracefully when JavaScript is not present. But one thing it doesn't do well out of the box - and this is actually the case for any asynchronous update to the DOM - is informing screen readers that new content is present. This article by Bertrand Le Roy and the accompanying code show how to work around that problem and give assistive technology users access to the benefits of Ajax.

  • Implementing a Session Timeout Page in ASP.NET

    In this article, Steven Smith walks through the steps required to implement a Session Logged Out page that users are automatically sent to in their browser when their ASP.NET session expires. He examines each step with the help of detailed explanation supported by relevant source code.

  • Drag and Drop with persistence using JQuery

    Ever been on a website that shows off the drag and drop operation? Maybe it allows you to drag and drop the product into a shopping cart. Most of us have been there and were really impressed with the feature. In this article, we will focus on how to create a similar drag and drop functionality to add users to a room.

  • The basics of MVC and MVP

    Clear separation of responsibilities along with a low coupling level is a sign of a well-designed application. Whereas design patterns are proven solutions to reduce coupling between small sets of objects, architectural patterns help to improve a system’s design on the whole. One popular architectural pattern is Model-View-Controller. Originally came from Smalltalk now it has implementations in various languages. In Java for example such frameworks as Spring and Struts have gained high popularity and are widely used. However in .NET world the existing implementations aren’t much spread, being mainly inspired by Java implementations they fit well only for Web applications and are not suitable for Windows thick client applications.

  • Silverlight 2.0: The wait is almost over

    Silverlight 2.0 will provide a subset of the .NET Framework and Windows Presentation Foundation (WPF) so that developers and designers can build rich Internet applications (RIAs). Silverlight 1.0, which shipped in September, is primarily a media player for video and other content that uses a JavaScript programming model.

  • Creating an AJAX-Enabled Calendar Control

    Introduction
    Go to any travel or event booking website and you'll find the same user interface for collecting date information: the Calendar. Providing such an interface in an ASP.NET application is a breeze, thanks to the built-in Calendar Web control. There are two downsides to ASP.NET's Calendar control: first, it is not very useful when selecting dates far into the future or past, as you can only navigate to the next or previous month; and, second, the Calendar does not use AJAX techniques, so each click, be it selecting a date or moving to the next or previous month, requires a full postback.

    Mehmet Genc addressed this first shortcoming in Extending the Calendar Control's Date Navigation by showing how to add month and year drop-down lists. But Mehmet's article was written in 2004 and since then AJAX-enabled websites have become all the rage. I decided it was high time to update Mehmet's custom Calendar control to support AJAX. Specifically, I implemented the AJAX-enabled Calendar control as a User Control. The User Control renders a TextBox control that, when clicked, displays a Calendar control from which the user can select the date. Like with Mehmet's Calendar, users can quickly jump to a particular month or year by using two drop-down lists. And best of all, the user experience is very responsive.

  • Implementing the MVC Design Pattern in ASP.NET

    In this article, Joydip explains the basics of the MVC design pattern, the advantages and the disadvantages of it. He also examines how effectively we can decouple the business logic layer of an application from the UI layer. The article provides source code to illustrate the concepts in C# with relevant explanation.

  • Building a Simple Blog Engine with ASP.NET MVC and LINQ Part 2

    Microsoft released the first CTP of ASP.NET 3.5 Extensions and it includes ASP.NET MVC Framework as one of the main extensions for ASP.NET 3.5. In the first part of this article series about building a simple blog engine with ASP.NET MVC and LINQ, Keyvan introduces the MVC pattern, ASP.NET MVC Framework, and the fundamentals of a simple blogging engine.

  • LINQPad

    LINQPad lets you interactively query SQL databases in a modern query language: LINQ.  Kiss goodbye to SQL Management Studio!

  • Fast and search-engine-friendly ASP.NET-GridView

    The ASP.NET GridView is a powerful and userfriendly control for displaying a table of data. It has nice features like sorting, paging, databinding or templatefields. When loading a large amount of data, the paging feature can be used. But this leads to some problems with search-engines and memory usage. How this can be avoided is the topic of this article.

  • Implementing style sheet code dynamically

    This article examines the different ways in which you can implement style sheets dynamically. Initially, you will learn the dynamic implementation using JavaScript code. Frans then explores the process of working with style sheet code from the database. He wraps up the article by providing some tips to further enhance the style sheet code. The article is supported by relevant source code and a sample application is provided at the end.

  • Kaxaml


    Project description
    Kaxaml is a lightweight XAML editor that gives you a "split view" so you can see both your XAML and your rendered content (kind of like XamlPad but without the gigabyte of SDK).

    Current version
    Version 1.0 is the most current stable release.

  • 10 ASP.NET Performance and Scalability Secrets

    ASP.NET 2.0 has many secrets, when revealed, can give you big performance and scalability boost. For instance, there are secret bottlenecks in Membership and Profile provider which can be solved easily to make authentication and authorization faster. Furthermore, ASP.NET Http pipeline can be tweaked to avoid executing unnecessary code that gets hit on each and every request. Not only that, ASP.NET Worker Process can be pushed to its limit to squeeze out every drop of performance out of it. Page fragment output caching on the browser (not on the server) can save significant amount of download time on repeated visits. On demand UI loading can give your site a fast and smooth feeling. Finally, Content Delivery Networks (CDN) and proper use of HTTP Cache headers can make your website screaming fast when implemented properly. In this article, you will learn these techniques that can give your ASP.NET application a big performance and scalability boost and prepare it to perform well under 10 times to 100 times more traffic.

    In this article Omar al Zabir have shown the following techniques:

    • ASP.NET Pipeline optimization
    • ASP.NET Process configuration optimization
    • Things you must do for ASP.NET before going live
    • Content Delivery Network
    • Caching AJAX calls on browser
    • Making best use of Browser Cache
    • On demand progressive UI loading for fast smooth experience
    • Optimize ASP.NET 2.0 Profile provider
    • How to query ASP.NET 2.0 Membership tables without bringing down the site
    • Prevent Denial of Service (DOS) attack

    The above techniques can be implemented on any ASP.NET website especially those who use ASP.NET 2.0's Membership and Profile provider.

  • [Book Review] Pro LINQ: Language Integrated Query in C# 2008

    Pro LINQ: Language Integrated Query in C# 2008 book coverLINQ is latest interesting tool to come from Microsoft, along with Silverlight, WPF and the Ajax toolkit. One of difficulties about these new technologies is that there is not enough documentation readily available. This book is the first one that has really captured my attention, maybe because it's the first one on the subject. Apress books are always a great buy, however in this instance, I reviewed the eBook version, which I have to say is not the easiest to navigate. I might be a cutting edge developer but I am also an old fashion type of guy, I like the feel and smell of new books! Anyway back to the subject, LINQ. I think we can all say we are newbies on the subject except for those who are familiar with ORM (Object Relation Mapping) technology. LINQ implementation is quite different than the other ORM tools and can be surprising in some ways sometimes for beginners. The author here has taken the broad option of covering LINQ for both beginners and professionals. It something I like a lot because it avoids the need for two books on the same subject, which often can mean you never quite find the right piece of code you are looking for. Kudos to the author who admits that this is his first book; I think he should continue writing. I would have no problem recommending another book by the same author .
    The introduction is a well written exercise, where the writer gets the reader's attention using some clever basic 'hello' messages coded with LINQ before he delves into a deeper understanding of the language. The style is straightforward, taking an honest approach. You won't find any pompous statements in the book saying something like 'I know what I am talking about, I was born with LINQ!', but instead you find a more frank admission that the author has also learned by writing on the subject himself. I am looking forward now to a VB version of the book, because this is the only negative comment I can make. It would have been easy to write the examples in VB and C# in the same book. I can code in both, but I know you have subtle differences. LINQ is not only for database gurus, and I like the fact that in the book the LINQ to SQL has been pushed further down the content list. What is also good is that because the book is well structured you can jump directly to any section. I would have added more diagrams and graphics to the text to lighten what is a heavy read. Another little thing but useful for the beginners would have been to have some explanations on using the LINQ designer class in Visual Studio 2008, which is quite absent as far as I could see.
    Now I do hope that my review will encourage you to buy this book because not only is it the first one on the subject, but because it covers almost everything you need to know on the subject.

  • Multithreaded WPF Progress Dialog

    With this WPF progress dialog, you can display a progress window and invoke a method on a background thread with just a few lines of code. Let’s say, you have a worker method called CountTo100, then all you need to get things running is this:

  • Building a Simple Blog Engine with ASP.NET MVC and LINQ

    Microsoft released the first CTP of ASP.NET 3.5 Extensions and it includes ASP.NET MVC Framework as one of the main extensions for ASP.NET 3.5. In the first part of this article series about building a simple blog engine with ASP.NET MVC and LINQ, Keyvan introduces the MVC pattern, ASP.NET MVC Framework, and the fundamentals of a simple blogging engine.

  • Understanding Single Sign-On in ASP.NET 2.0

    In this article, Masoud Tabatabaei discusses the concept of Cross Application Authentication using ASP.NET authentication model consisting of Membership Providers, web.config configuration, encryption, and decryption of configuration files. At the end of the article he also examines the application of the concept using ASP.NET login controls.

  • A Naming Scheme for Database Tables and Fields

    Database developers have historically used a somewhat cryptic system for naming database tables and fields. Originally a result of the limitations of database management systems (DBMS), these naming schemes - or the lack thereof - have been adopted by convention and tradition. However, as database applications become more complex, with more tables and larger teams of developers, and as developers come and go, it becomes much more important to implement a robust and disciplined naming scheme for database objects. A well-defined naming scheme becomes more important when you adopt object relational mapping (ORM) technologies or automatic code generation.

  • Building a shopping list

    This is the eighth part of an eleven-part series on building an online shopping web site. In this part, we will continue to look into the backside management tasks associated with product and order adding, modifying, and deleting, as well as managing comments on the products.

  • Caching Images in ASP.NET

    There are a lot of ways to improve performance in web applications. One of the simplest but most effective methods is to cache images on the client. In this article Karin Huber would like to show how they implemented image caching for our DotNetNuke website.

  • Inside view of Windows Mobile 7

    Windows-Mobile-7-logoMicrosoft is currently developing Windows Mobile 7, the first revolutionary change to its mobile device operating system. Recently, I was given a document by a source inside Microsoft that details the touch and gesture plans for Mobile 7. This document is a confidential internal use only document, used to explain the plans for Mobile 7, and contains well over a hundred pages of designs, ideas, and changes to the way we interact with our mobile devices.

  • ASP.NET AJAX Extender for multicolumn drag & drop

    Drag and Drop is very popular in AJAX websites. You can rearrange content on a website as you like and gives you some level of personalization. However, free form drag drop is a problem because the content gets messy as you drag things around on the page and there's no logical organization. So, a popular choice for drag & drop is to use column wise content flow where you can drag and drop content within column or across column. This ASP.NET AJAX Extender allows you to do that very easily.

  • Introduction to LINQ

    Language Integrated Query (LINQ) gives .NET developers the ability to query and transform data using their .NET language of choice. The data can live inside XML documents, inside relational database tables, or inside collections of objects. What truly distinguishes LINQ from other data access APIs in .NET however, is LINQ's deep integration into the .NET languages like C# and VB. In this article, Scott from OdeToCode will explore the basic features of LINQ and demonstrate this beautiful integration.

  • Screen scraping using Asp.Net

    Screen Scraping, in terms of programmer means fetching data from a website into your application. To talk more technically, it is actually a way by which your application extracts data from the output of some other program. This technique is basically making the request and parsing the response. This can help you in a tremendous way. You can scrape all products from a website and put them in your application or save them in a spreadsheet, you can do comparisons by scraping data from multiple sites and do research or analysis.

  • Easy SQL to XML with LINQ and Visual Basic 2008

    In this article, Richard demonstrates how to create an XML file from a SQL Server 2005 database using LINQ. He provides a detailed explanation of the relevant steps with the help of source code and screenshots captured from Visual Basic 2008 Express Edition. At the end of the article, he also gives a few references where you can learn more regarding the techniques involved with LINQ.