Visual Studio 2015 RTM - My Favorite Features

20 Jul

It seems like just yesterday that we were anxiously awaiting the release of Visual Studio 2013, now we are on the brink of yet another round of amazing .NET changes.  The evolution of the development tools as well as the underlying languages and platform can be daunting to keep track of.  Having been using Visual Studio 2015 for a while under the various Microsoft Release Candidate releases I have had a good amount of time to play with the IDE as well as the new language features.  So I thought what better way to help celebrate the RTM (Release to Manufacturing) of VS 2015 than to share my favorite features and improvements.  This is only a mere subset of the features that I enjoy.  i will have future blog postings going into more detail on a number of these!

tags: ASP.NET, Visual Studio, ASP.NET MVC, .NET 4.6

Vendor API Integrations: Developer Beware

15 Dec

Since I started IowaComputerGurus in early 2006 I have worked on more than 100 different vendor API integrations.  Now two integrations have been the same, even if they are both going to the same vendor API.  Each integration project is a unique beast, the business requirements however similar are exactly that, similar.  The small changes, the small tweaks that you might have from one client to another on the same platform can be catastrophic.  Having done so many of these, I thought I had seen it all, from poor API's, to poor support, and everything in-between I could go on for days with the things I've experienced over the years.  However, after two recent experiences, by far the most horrible I've ever experienced I thought I'd share a few lessons learned to help others out there learn from my experience over the last 4-6 months.

tags: ASP.NET, General Tech, Quick Tips, ASP.NET MVC, Performance, .NET 4.5

Load Testing Your Application: Art or Science?

12 Sep

Earlier this year I blogged about this importing of understanding and knowing how your application will perform under load.  (See it here).  After receiving a lot of questions from individuals wanting to learn more about "how" they can load test their applications and the tools that I use when testing applications I thought it would be good to follow up with a post to shed a bit of light on the process.  

tags: ASP.NET, DNN Development, .NET 4.0, Performance, .NET 4.5

Understanding the Logistics of Moving Websites

12 Sep

Recently for a number of reasons I've been working with individuals that are taking a website and moving them from one hosting provider to another.  Sometimes these moves are taking the existing site as is, other times it is migrating to a "new site" at the same time.  However, after doing at least 10-12 of these in the past few months a few common points of "confusion" have come to light.  As such, due to popular request I'll lay out the basics of how to move a website from one hosting provider to another and discuss the component parts that are involved in such a move. Although a bit "off" from my normal development or performance topics this is still a very real thing for many people!

tags: ASP.NET, DNN Administration, Quick Tips

Improving Web Application Performance - Part Three Client Side Considerations

30 May

In the first two parts of this blog series we introduced the importance of defining metrics prior to starting any performance optimization activities and the importance of identifying any user or role based issues.  In this part of the series we start to dive into the actual optimization part of the process.  I will start by introducing key concepts to look for, and then we will review the tools of the trade that can be used to help identify trouble points.  It is important to note that the information contained in this post is 100% applicable to ALL server side languages, regardless of .NET, PHP, Java, or anything else you might select to use.

tags: ASP.NET, DNN Administration, ASP.NET MVC, Performance, .NET 4.5

Improving Web Application Performance - Part Two Users & Environment

29 May

Now that we have a set of metrics to use to validate the performance of our web application we can now start to dive deeply into resolving issues.  The first step in this journey is actually a step often overlooked by those that I encounter.  Professionally speaking 3 in 5 performance consultations that I am involved with are actually resolved by taking the points in this post into consideration.  So lets get started looking at users & environment.

tags: DNN, ASP.NET, ASP.NET MVC, Performance, .NET 4.5

Improving Web Application Performance - Part One Metrics!

27 May

For the last four or five years I have given a number of presentations on improving the performance of web applications, sometimes specifically focusing on DNN other times taking more broadly on ASP.NET.  However, the most popular of all presentations that I have given on Web Application performance was a session that took a broad look at application performance not only from a server side but also a client side application.  This talk was actually tailored to users that came from many application development backgrounds.  In this blog series I will share the information that was contained in that talk as well as a few more items of consideration that I have learned along the way.


ASP.NET Web Forms Model Binding – My Favorite ASP.NET 4.5 Feature

22 Apr

I have been working on this blog posting for over 2-3 weeks, by far one of the longest writes of any posting that I’ve done in the past. The reason for this is that I’m writing about a concept that you should already be aware of which is the inclusion of Model Binding Support for Web Forms in ASP.NET 4.5. You can find a number of resources out there that talk about this, including this amazing tutorial series. So why do I feel the need to spend so much of my time writing about this feature? Well read on to find out!

tags: ASP.NET, DNN Development, .NET 4.5

Creating an ASP.NET 4.5 File Security Process

26 Feb

Often when working with web applications it is necessary to secure access to documents or other user supplied resources.  If you look online you will find a number of different recommendations on how to accomplish this.  Some will recommend a HTTP Handler, some will recommend a simple ASPX, others will have other random ideas.  Regardless of the actual implementation there is always a common area of mixed recommendation, once you have validated that the user has the proper permissions to access the resource, how do you get the item to the user?  In this post I'll discuss a new API that is publicly available in .NET 4.5 that helps with one problem area.

tags: ASP.NET, C#, DNN Development, .NET 4.5

jQuery and Clicking an ASP.NET Linkbutton

21 Jun

As a web developer one common request is to make sure that the interfaces we build out for users look the best that they can and also provide users with the best experience both via the keyboard and mouse.  As part of this we will often have areas of conflict.  This post is going to cover one common scenario that will impact users that might be using DotNetNuke common styles or working to create their own custom button styles.  With ASP.NET it is common for people to use "LinkButton" controls to trigger actions rather than your standard "Button" controls as they are easier to style.

tags: ASP.NET, .NET 3.5, DNN Development, .NET 4.0, .NET 4.5

Improve Performance with Static File Caching

19 Jan

This post will be the first of what will be many posts with regards to application performance. After giving a number of presentations over the last 1-2 years, including one this evening in the Minneapolis/St. Paul area I've decided that some of these tips/tricks that I have with regards to improving application performance should really get put out here so people can find them and make the improvements to their applications. Going forward all of these posts will be categorized with at least the "Performance" category and then others that identify what systems are benefited by the changes. The subject of this post is Static Content Caching.

tags: DNN, ASP.NET, DNN Administration, Performance

Causing a Specific Control to Postback

18 Apr

I was recently debugging an issue with a form where the user wanted the "enter" button when pressed in a textbox to trigger a specific ASP.NET button to postback to the server.  I have done similar things in the past with a method that changes for the pressing of Character 13 which is the enter key, then finding the button by id and then continuing on.  Well recently I found out that depending on the structure you can still get some "interesting" results.  So I went looking for a different method, and came up with the following.

tags: ASP.NET, .NET 4.0, Quick Tips

Simple IIS Performance Improvement

09 Mar

I know that many of the readers of this blog manage their own webservers and i have a helpful tip to share about improving the initial load time of your webserver.  Although this modification I am recommending is a SMALL change and has a small impact, it is still worth doing as it will improve the performance and reduce the amount of work that IIS has to do.

tags: DNN, ASP.NET, General Tech

DotNetNuke 5.5.1 Update and POET Security Vulnerability

27 Sep

For just a little over a week there has been a lot of buzz in the .NET and DotNetNuke community around the POET security vulnerability that was identified within the Microsoft ASP.NET technology stack.  For those of you unaware of the true details on this vulnerability I highly recommend you read the initial announcement from Scott Guthrie from Microsoft, as well as his Frequently Asked Questions post, and lastly his secondary followup posting, with a more detailed workaround.  So why do I bring this up now?  Well late last week DotNetNuke corporation released DotNetNuke 5.5.1 and in the materials that went out with that release they note that it includes a workaround fix for this vulnerability, I wanted to make sure that as always people have ALL information needed before they are doing upgrades.


tags: DNN, ASP.NET, DNN Administration, DNN Install/Upgrade

Performance Tuning DotNetNuke Modules with ANTS Profiler

11 Aug

As I have mentioned in past posts here on this blog and via other communication channels I strongly believe that ANTS profiler which is offered by Red Gate software is a must-have tool for all software developers.  Most recently with my day job I have been working with profiler a lot more than usual and it prompted me to re-visit the concept of profiling within the constructs of a DotNetNuke installation.  I've had many individuals with questions before about, is it possible to profile a DNN module, or how do you set it up.  Well this article will walk through all of the steps necessary to profile a single module within a local installation.

tags: Tutorials, ASP.NET, DNN Development

How To Get Design-Time Support for DNN Controls

04 Aug

 As everyone that is a regular reader of this blog is already aware of I am a big fan of the WAP development model for all DotNetNuke development projects.  Now, one of the most common issues that individuals have reported to me is that "design-time" support is not there for common DotNetNuke user controls that are common to integrate with custom modules.  The controls I'm discussing are the DNN Label, Text Editor, and Url Controls.  Luckly though it is VERY simple to get full design time support for the controls and this article will show you how to accomplish this!

tags: DNN, Tutorials, ASP.NET, DNN Development

Development Environment and Tools Used

22 May

A very common question that I get asked by people is; what tools do you use to complete your development and what type of system do you use.  Now, I believe I have written a bit about this in the past, but I thought I would take some time to go through and give a bit of a detailed overview of what I use for development and why I have selected the hardware and software that I have.  I will cover this in detail from both the hardware and software point of view.

tags: ASP.NET, .NET 1.1, .NET 2.0, General Tech, Productivity Tools, .NET 3.5, C#, DNN Development

Review of SourceGear Vault Source Control Provider

16 Apr

My last blog article "Selecting the Right Source Control Provider" touched on the evaluation criteria that I use when looking for a source control system. This article is a review of sorts of SourceGear's Vault product, my preferred source control system. I'll start by reviewing vault as it relates to the criteria from the previous article, I will then provide my overall feedback on my experience with Vault.

tags: ASP.NET, Product Review, .NET 1.1, .NET 2.0, General Tech, Productivity Tools, .NET 3.5, C#, DNN Development

Selecting the Right Source Control Provider

08 Apr

One of the most common questions that I have been getting recently has been "what source control provider do you use and why?".  This article is the first in a series of two articles about source control.  This article takes a quick look at criteria that I believe is important to consider when it comes to evaluating source control systems for use.  The next article in the series will be a review of the source control system that I use, in relation to the evaluation criteria that I list in this article.

tags: SQL, ASP.NET, .NET 1.1, .NET 2.0, General Tech, .NET 3.5, C#, VB, DNN Development

Shared, Virtual Private Server, Dedicated or Cloud Hosting

08 Dec

Recently I have been responding to more and more forum posts and e-mails regarding DotNetNuke and selecting a hosting provider. Back in May I had a blog post Selecting a Hosting Provider Revisited, this article did a great job of outlining the basic consideration points when it comes to selecting a hosting environment for DotNetNuke. However, recent technology changes and other hosting options has created a few more items that need to be considered. This article is designed to specifically address the concerns and questions behind shared, virtual dedicated, dedicated, and cloud hosting options.

tags: ASP.NET, General Tech, DNN Administration

Exporting a DataGrid to Excel The Easy Way

22 May

Recently I have answered a number of questions regarding an easy way to export datagrid contents to excel format.  In this blog post I will share a static class that I have created called "ExportHelper" which I use quite often to generate quick Excel exports of datagrid data.  I will outline the process and the code below.  It should be noted that this solution is NOT a DotNetNuke specific solution, I use this for both DotNetNuke and standard ASP.NET solutions.

tags: DNN, Tutorials, ASP.NET, .NET 1.1, .NET 2.0, .NET 3.5, C#

The How, What, and Why of Injection Vulnerabilities

20 May

Recently when browsing the forums on I have noticed more and more questions regarding Script Injection vulnerability in the core and third-party modules.  I have often found that at times it is hard for non-developers to truly understand the concept of script injection and what makes a site vulnerable.  So in this article I will take a bit of time to discuss both types of injection that users of DotNetNuke should be aware of, how to test for them, and also how to prevent the vulnerability when creating modules. 

tags: DNN, SQL, ASP.NET, .NET 1.1, .NET 2.0, General Tech, .NET 3.5

Visual Studio Code Snippets

02 Mar

Recently I have been asked by multiple people what rapid design tools I use, or what types of code generation tools do I use.  Many people are surprised when I tell them that for the most part I don't use any rapid generation tools.  I do use a few home grown tools, such as my Info Class Generator, which is available on this site.  However, that is as far as I go with automated code generators.  However, one thing that I have started using more and more frequently are Code Snippets within Visual Studio.

I have found that creating a few helpful Code Snippets has allowed me to quickly and easily format my code, and build my needed structures in almost no time.  In this blog article I will share two of my most commonly used Code Snippets, if there is a demand I will post future code snippets here as well.

tags: ASP.NET, Announcements, .NET 1.1, .NET 2.0, .NET 3.5, C#

WAP or WSP Which to Use and Why

02 Jan

 The question on which is better WSP (Website Project) or WAP (Web Application Project) has been one asked many times on this site and DotNetNuke.  Over the past months I have provided explainations that fit for each of the specific applications, however, I never really took the time to provide a full compare/contrast article that shows you the overall ease of using one over the other or the hidden downfalls of one over the other.  This article will take you through a number of steps to compare the two development models, so you can make your own decision on which is better.

tags: DNN, ASP.NET

Debugging WAP DotNetNuke Modules

20 Dec

A question I have been asked many times recently is how do you debug a DotNetNuke module that has been developed using the WAP (Web Application Project) development model.  This is a question that I have known the general answer to for quite some time, but I have never actually had a need to truly debug one of my custom modules.  During the course of helping a client with an issue today I actually took the time to document all steps necessary to debug a WAP DotNetNuke Module within Visual Studio 2005.  This article will walk you through all steps necessary to debug your project.

tags: DNN, Tutorials, ASP.NET, C#, VB

Migration of Existing Site to 3Essentials

27 Jul

Recently there have been numerous discussions on the Forums regarding hosting providers and who one should go with and who they should switch to because they are unhappy with their current provider. During all of these discussions I have always recommended the company that I use for hosting 3Essentials. Since making this recommendation I have been receiving numerous e-mails regarding the process to actually migrate a live site over to 3Essentials so I thought I would write a short blog article that explains the basics of moving a website over to 3Essentials, in actuality these instructions SHOULD work for most providers, however there might be some differences.

tags: Tutorials, ASP.NET, .NET 1.1, .NET 2.0

SEO and Website Visibility/Performance

12 Jul

Search Engine Optimization (SEO) has become a very popular topic among the DotNetNuke community as well as in all other types of web development. I do not claim to be a master in SEO, however, I do have a number of tools that I use to help judge the SEO capacities of my websites and also a number of directories that I utilize to enhance the visibiliy of my website. In this article I will share some of these sites, links, and directories that might help improve your websites search engine placemen and/or popularity/visibility.

tags: DNN, ASP.NET

Logging ASP.NET Application Restarts

15 Mar

Like many ASP.NET programmers I utilize a third party hosting company to host all of my sites. We have all ran into situations where we have been loosing sessions and other oddities and it would be very helpful to find out exactly what caused the application to restart. Well thanks to this post on by Frankt I have found a way to track this information. In this entry I will provide you with code that can obtain this information

tags: DNN, ASP.NET, .NET 1.1, .NET 2.0

Changing passwords in ASP.NET 2.0 applications from the database

12 Feb

At one time or another I think everyone has been locked out of a system and not been able to get back in. This can be especially troubling if you happen to be locked out of your administrator account. I have seen many people asking how to reset passwords for the host and admin accounts with DotNetNuke so I thought I would write up some simple instructions on how to change a password via the database for any ASP.NET 2.0 website.

tags: DNN, ASP.NET, .NET 2.0

Using Regular Expressions (Part 2)

12 Dec

This is the second part of my Regular Expression overview.  In the first article I discussed the basics of creating Regular Expressions and provided a link to test expression patterns using the .NET Framework RegEx classes.  In this article I will discuss the various actions that can be taken to match values in a string using regular expressions.  I will also discuss how you can implement a SQL CLR UDF to allow regular expression validation from your database to provide a strong level of input validation at the database level.

tags: Tutorials, Windows Applications, ASP.NET, .NET 1.1, .NET 2.0

Using Regular Expressions (Part 1)

29 Nov

I have created this two part article series to provide a quick and practical introduction to using regular expressions..  Regular expressions can be used for many things; however, they are typically used for input validation or to perform advanced searches on text in supporting applications.  This first article will explain how to create a regular expression pattern; the expression defines what is considered a match.  The second article will provide details on how to implement regular expressions in .NET applications.

tags: Tutorials, Windows Applications, ASP.NET, .NET 1.1, .NET 2.0

Adding Custom Profile Fields

07 Oct

ASP.NET 2.0 allows for a very robust user authorization/authentication system with little to no code. One of the added features of the ASP.NET Membership and Profile systems is the ability to have custom user profiles. The ASP.NET Profile system allows you to add additional user profile fields very quickly. I will discuss in this post the methods needed to add simple profile fields (Standard system types), however remember that you can use complex objects for profile fields as well.

tags: Tutorials, ASP.NET, .NET 2.0

.NET 2.0 SMTP Settings

03 Oct

This entry provides detailed information regarding the <smtp> section that can be used with .NET 2.0 applications.  Using this new configuration setting along with the new SmtpClient class can save you time coding e-mail methods.

tags: Windows Applications, ASP.NET, .NET 2.0

Using Atlas.NET

28 Sep

This article explains the procedures needed to implement in your web applications. 

NOTE: As of November 2006 this information is outdated as the official release of ASP.NET AJAX was completed.  If you would like to see a tutorial on using the new AJAX tools send me and e-mail!

tags: Tutorials, ASP.NET, .NET 2.0

Site Map Driven Page Titles

24 Sep

With the new SiteMap functionality wouldn't it be nice for all of your pages that are part of a master page to have a title that references their position in the site map and the values you have provided for the page titles?

tags: Tutorials, ASP.NET

Content provided in this blog is provided "AS-IS" and the information should be used at your own discretion.  The thoughts and opinions expressed are the personal thoughts of Mitchel Sellers and do not reflect the opinions of his employer.

Connect with Mitchel

I hope the information here has been helpful. To stay connected you can also subscribe to blog updates via email, contact Mitchel about consulting services, or reach out for assistance via CodeMendor

Content Copyright

Content in this blog is copyright protected.  Re-publishing on other websites is allowed as long as proper credit and backlink to the article is provided.  Any other re-publishing or distribution of this content is prohibited without written permission from Mitchel Sellers.