Hossein Zahed

Web Developer, Entrepreneur, Software Educator

Removing X-Powered-By ASP.Net and other version headers

Most likely you do not want these headers to be displayed in your responses:

  • Server Microsoft-IIS/7.5
  • X-AspNetMvc-Version 3.0
  • X-AspNet-Version 4.0.303319
  • X-Powered-By ASP.NET

Removing X-AspNet-Version

In web.config add this:

<system.web>
<httpRuntime enableVersionHeader="false"/>

Removing X-AspNetMvc-Version

In Global.asax.cs add this line:

protected void Application_Start()
{
MvcHandler.DisableMvcResponseHeader = true;
}

Removing or changing Server

In Global.asax.cs add this:

protected void Application_PreSendRequestHeaders()
{
//Response.Headers.Remove("Server");
Response.Headers.Set("Server","FooServer");
Response.Headers.Remove("X-AspNet-Version"); //alternative to above solution
Response.Headers.Remove("X-AspNetMvc-Version"); //alternative to above solution
}

Removing or changing X-Powered-By

IIS 7 - You can also remove the X-Powered-By header by including these lines to the <system.webServer> element:

<httpProtocol>
<customHeaders>
<remove name="X-Powered-By" />
</customHeaders>
</httpProtocol>

or manually go to IIS7 Management Console and open HTTP Response Headers

Visual Studio Code Snippets for C# Language

By default the following code snippets are included in Visual Studio. Type one of them and press TAB twice!

Name (or shortcut)

Description

Valid locations to insert snippet

#if

Creates a #if directive and a #endif directive.

Anywhere.

#region

Creates a #region directive and a #endregion directive.

Anywhere.

~

Creates a destructor for the containing class.

Inside a class.

attribute

Creates a declaration for a class that derives from Attribute.

Inside a namespace (including the global namespace), a class, or a struct.

checked

Creates a checked block.

Inside a method, an indexer, a property accessor, or an event accessor.

class

Creates a class declaration.

Inside a namespace (including the global namespace), a class, or a struct.

ctor

Creates a constructor for the containing class.

Inside a class.

cw

Creates a call to WriteLine.

Inside a method, an indexer, a property accessor, or an event accessor.

do

Creates a do while loop.

Inside a method, an indexer, a property accessor, or an event accessor.

else

Creates an else block.

Inside a method, an indexer, a property accessor, or an event accessor.

enum

Creates an enum declaration.

Inside a namespace (including the global namespace), a class, or a struct.

equals

Creates a method declaration that overrides the Equalsmethod defined in the Object class.

Inside a class or a struct.

exception

Creates a declaration for a class that derives from an exception (Exception by default).

Inside a namespace (including the global namespace), a class, or a struct.

for

Creates a for loop.

Inside a method, an indexer, a property accessor, or an event accessor.

foreach

Creates a foreach loop.

Inside a method, an indexer, a property accessor, or an event accessor.

forr

Creates a for loop that decrements the loop variable after each iteration.

Inside a method, an indexer, a property accessor, or an event accessor.

if

Creates an if block.

Inside a method, an indexer, a property accessor, or an event accessor.

indexer

Creates an indexer declaration.

Inside a class or a struct.

interface

Creates an interface declaration.

Inside a namespace (including the global namespace), a class, or a struct.

invoke

Creates a block that safely invokes an event.

Inside a method, an indexer, a property accessor, or an event accessor.

iterator

Creates an iterator.

Inside a class or a struct.

iterindex

Creates a "named" iterator and indexer pair by using a nested class.

Inside a class or a struct.

lock

Creates a lock block.

Inside a method, an indexer, a property accessor, or an event accessor.

mbox

Creates a call to MessageBox.Show. You may have to add a reference to System.Windows.Forms.dll.

Inside a method, an indexer, a property accessor, or an event accessor.

namespace

Creates a namespace declaration.

Inside a namespace (including the global namespace).

prop

Creates an auto-implemented property declaration.

Inside a class or a struct.

propfull

Creates a property declaration with get and set accessors.

Inside a class or a struct.

propg

Creates a read-only auto-implemented property with a private "set" accessor.

Inside a class or a struct.

sim

Creates a static int Main method declaration.

Inside a class or a struct.

struct

Creates a struct declaration.

Inside a namespace (including the global namespace), a class, or a struct.

svm

Creates a static void Main method declaration.

Inside a class or a struct.

switch

Creates a switch block.

Inside a method, an indexer, a property accessor, or an event accessor.

try

Creates a try-catch block.

Inside a method, an indexer, a property accessor, or an event accessor.

tryf

Creates a try-finally block.

Inside a method, an indexer, a property accessor, or an event accessor.

unchecked

Creates an unchecked block.

Inside a method, an indexer, a property accessor, or an event accessor.

unsafe

Creates an unsafe block.

Inside a method, an indexer, a property accessor, or an event accessor.

using

Creates a using directive.

Inside a namespace (including the global namespace).

while

Creates a while loop.

Inside a method, an indexer, a property accessor, or an event accessor.