Showing posts with label IIS. Show all posts
Showing posts with label IIS. Show all posts

Thursday, June 24, 2021

How to enable View Current Requests in IIS

View Current Request in IIS enables to displays the current running requests in a worker process. Several fields provide data to investigate performance issues; for example, the URL, Client IP, Pipeline Module State and Module Name, and the Time Elapsed for a request.

Here is how it can be done. 
  1. To enable the View Current Requests action in the Worked Processes feature, the Request Monitor feature must be enabled. The following steps are typical among later Windows operating systems:
    1. Open the Server Manager.
    2. Select Roles and locate the Web Server (IIS) role.
    3. Click Add Role Services .
    4. Locate the Health and Diagnostics section then select Request Monitor .
    5. Click Next and complete the wizard.
  2. Once enabled, open IIS Manager and select the Web server.
  3. In the Web Server Home Features view, go to the IIS section and select and open the Worker Processes feature.
  4. Select the Desired worker process then, in the Actions pane, click View Current Requests (or right-click on the Worker Process and select View Current Requests 

Hope this helps 😀!!

How to View Running Web Requests in IIS

When website performance suddenly becomes worse, there may be many potential causes. Gathering information about the current requests being handled by the worker process can help to identify issues impacting performance.

The Internet Information Services (IIS) Manager provides a server-level Worker Processes feature that manages "a list of worker processes running in application pools on a Web server." The information provided includes the Application Pool Name, Process ID, State of the process, CPU percentage, Private Bytes, and Virtual Bytes

Additionally, if enabled, the View Current Requests action is available. The View Current Requests displays the current running requests in a worker process. Several fields provide data to investigate performance issues; for example, the URL, Client IP, Pipeline Module State and Module Name, and the Time Elapsed for a request.

Although, this may also show a bunch of web requests that are queued up and not directly lead you to the root cause.

One of the first things you should do is see which web requests are currently executing. This may help you identify a specific URL that is causing the problem.

Via the IIS User Interface

Via the IIS management console, you can view the running worker processes. You can view which IIS application pool is causing high CPU and view the currently running web requests.

After selecting “Worker Processes” from the main IIS menu, you can see the currently 
running IIS worker processes.

If you double-click on a worker process, you can see all of the currently executing requests.

Here’s an example from one of our servers. You can see that each request is in different parts of the ASP.NET pipeline and currently executing different HTTP modules.

Monday, April 23, 2018

Difference between HTTP.SYS and WAS in IIS

HTTP.SYS (Hypertext Transfer Protocol Stack) is the kernel level components of IIS. All client request comes from client hit the HTTP.Sys of Kernel level. HTTP.SYS then makes a queue for each and every request for each and individual application pool based on the request.

Whenever we create any application pool IIS automatically registers the pool with HTTP.SYS to identify the particular during request processing.

WAS(Windows Activation Service) is a new feature of IIS, that allows all the features of the Windows Communication Framework stack, like non-HTTP channels and other stuff.

IIS is the web server that hosts the services that are activated via WAS.

WAS - is the new process activation mechanism that ships with IIS 7.0. WAS builds on the existing IIS 6.0 but is more powerful because it provides support for other protocols besides HTTP, such as TCP and Named Pipes.

For more details, go through IIS architecture

Monday, September 12, 2016

405 - HTTP verb used to access this page is not allowed

We get the above error when we use PUT verb when we access RESTFUL web services.

For this to work, The web site had to continue to enable WebDAV, but the web application needed to turn it off in order to support PUT and DELETE in its REST API.

Below are the approaches I followed to solve my problem.

Procedure 1:

  1. In the IIS Manager, select the application that needs to support PUT.  
  2. In the Features View, find WebDAV Authoring Rules.  Double-click it, or select Open Feature from the context menu (right-click).
  3. In the Actions pane, find and click on WebDAV Settings....
  4. In the WebDAV Settings, find Request Filtering Behavior, and under that, find Allow Verb Filtering.  Set Allow Verb Filtering to False. 2016-09-14_1402
  5. In the Actions pane, click Apply.

Procedure 2:

1. Go to IIS Manager.
2. Click on your app.
3. Go to "Handler Mappings".
4. In the feature list, double click on "WebDAV".

5. Click on "Request Restrictions".
6. In the tab "Verbs" select "All verbs" .

7. Press OK.

Hope this helps!

Friday, July 20, 2012

C#: How to Get Machine name of the webserver

Here is how you can do using C#,

Response.Write("machinename " +System.Environment.MachineName +"<BR>" )

This gives you name computer where your webserver is located.

If you need with the domain name here is how you can achieve using the following code snippet:

You need to import following namespace to use this,

using System.Net; 

public static string GetServerMachineName()
string domainName = System.Net.NetworkInformation.IPGlobalProperties.GetIPGlobalProperties().DomainName;
string hostName = Dns.GetHostName();
string sysdn = "";
if (!hostName.Contains(domainName))
sysdn = hostName + "." + domainName;
sysdn = hostName;

return sysdn;

Happy Coding Smile

Tuesday, January 31, 2012

How to add MIME types in Web.config on hosted Servers, Go Daddy, IIS 7 etc.

Ever wanted to add a custom mime type to your Web server?  I ran into this issue the other day when I tried to serve up .otf files related to fonts on my Web server and  I got this error: 404.3 error - mime type missing!

Thankfully, adding mime types is easier than ever thanks to the all-new distributed configuration option, which allows for IIS7 configuration to be stored in web.config files, along with configuration, to be deployed with your content. 

I'll show how easy it is to add mime types to your Web server.  This method will work on any IIS7 web server, and it will be ignored on all non-IIS7 web servers, so it should be safe to do no matter the type of application or content.  Since the <staticContent> section is delegated by default, the configuration snippets below should 'just work' on all IIS7 Web sites. 

  1. Open or edit the web.config in your site home directory.
  2. Add the following section in configuration section under web server.
      <mimeMap fileExtension=".otf" mimeType="font/otf" />

This works even on Go Daddy hosted server also. You can add as many file times you want allow in this static content section.  For example these few MIME types you can add if you want on your Web server

<mimeMap fileExtension=".m4v" mimeType="video/m4v" />
<mimeMap fileExtension=".ogg" mimeType="audio/ogg" />
<mimeMap fileExtension=".oga" mimeType="audio/ogg" />
<mimeMap fileExtension=".ogv" mimeType="video/ogg" />
<mimeMap fileExtension=".webm" mimeType="video/webm"/>
<!-- For silverlight applicaitons -->
<mimeMap fileExtension=".xaml" mimeType="application/xaml+xml" />
<mimeMap fileExtension=".xap" mimeType="application/x-silverlight-app" />
<mimeMap fileExtension=".xbap" mimeType="application/x-ms-xbap" />

Hope this helps Thumbs up

Tuesday, January 10, 2012

What is a MIME type?

There are times when you would want the IIS web server to serve a file that has an extension that it does not recognize. That is, a file whose MIME type has not been defined. In such a case, IIS would return http error code, 404.3 as shown below.

HTTP Error 404.3 – Not Found
Description: The page you are requesting cannot be served because of the Multipurpose Internet Mail Extensions (MIME) map policy that is configured on the Web server. The page you requested has a file name extension that is not recognized, and therefore is not allowed.

MIME stands for Multi-purpose Internet Mail Extensions. MIME types form a standard way of classifying file types on the Internet. Internet programs such as Web servers and browsers all have a list of MIME types, so that they can transfer files of the same type in the same way, no matter what operating system they are working in.

A MIME type has two parts: a type and a subtype. They are separated by a slash (/). For example, the MIME type for Microsoft Word files is application and the subtype is msword. Together, the complete MIME type is application/msword.

Here is the list of available MIME types that you can add and configure on IIS

Hope this is useful.

List of MIME Types with Content types

There are times when you would want the IIS web server to serve a file that has an extension that it does not recognize. That is, a file whose mime type has not been defined. In such a case, IIS would return http error code, 404.3. For the web server to serve the file with that new extension, you need to create a mapping between that extension and the MIME type.

The following MIME types are some MIME types with its File Extension and Content type.

File Extension Content type (MIME)
.323 text/h323
.aaf application/octet-stream
.aca application/octet-stream
.acx application/internet-property-stream
.afm application/octet-stream
.ai application/postscript
.aif audio/x-aiff
.aifc audio/aiff
.aiff audio/aiff
.applicati application/x-ms-application
.art image/x-jg
.asd application/octet-stream
.asf video/x-ms-asf
.asi application/octet-stream
.asm text/plain
.asr video/x-ms-asf
.asx video/x-ms-asf
.au audio/basic
.avi video/x-msvideo
.axs application/olescript
.bas text/plain
.bcpio application/x-bcpio
.bin application/octet-stream
.bmp image/bmp
.c text/plain
.cab application/octet-stream
.cat application/
.cdf application/x-cdf
.chm application/octet-stream
.class application/x-java-applet
.clp application/x-msclip
.cmx image/x-cmx
.cnf text/plain
.cod image/cis-cod
.cpio application/x-cpio
.cpp text/plain
.crd application/x-mscardfile
.crl application/pkix-crl
.crt application/x-x509-ca-cert
.csh application/x-csh
.css text/css
.csv application/octet-stream
.cur application/octet-stream
.dcr application/x-director
.deploy application/octet-stream
.der application/x-x509-ca-cert
.dib image/bmp
.dir application/x-director
.disco text/xml
.dll application/x-msdownload
.dlm text/dlm
.dnl application/x-msdownload
.doc application/msword
.dot application/msword
.dsp application/octet-stream
.dtd text/xml
.dvi application/x-dvi
.dwf drawing/x-dwf
.dwp application/octet-stream
.dxr application/x-director
.easm application/octet-stream
.eml message/rfc822
.emz application/octet-stream
.eot application/octet-stream
.eps application/postscript
.etx text/x-setext
.evy application/envoy
.ex_ application/octet-stream
.exe application/octet-stream
.fdf application/vnd.fdf
.fif application/fractals
.fla application/octet-stream
.flr x-world/x-vrml
.flv video/x-flv
.gif image/gif
.gtar application/x-gtar
.gz application/x-gzip
.h text/plain
.hdf application/x-hdf
.hdml text/x-hdml
.hhc application/x-oleobject
.hhk application/octet-stream
.hhp application/octet-stream
.hlp application/winhlp
.hqx application/mac-binhex40
.hsf application/octet-stream
.hta application/hta
.htc text/x-component
.htm text/html
.html text/html
.htt text/webviewhtml
.hxt text/html
.ica application/x-ica
.ico image/x-icon
.ics application/octet-stream
.ief image/ief
.inf application/octet-stream
.ins application/x-internet-signup
.isp application/x-internet-signup
.IVF video/x-ivf
.jar application/java-archive
.java (Disabled in IIS 7) application/octet-stream
.jck application/liquidmotion
.jcz application/liquidmotion
.jfif image/pjpeg
.jpb application/octet-stream
.jpe image/jpeg
.jpeg image/jpeg
.jpg image/jpeg
.js application/x-javascript
.latex application/x-latex
.lit application/x-ms-reader
.lpk application/octet-stream
.lsf video/x-la-asf
.lsx video/x-la-asf
.lzh application/octet-stream
.m13 application/x-msmediaview
.m14 application/x-msmediaview
.m1v video/mpeg
.m3u audio/x-mpegurl
.man application/x-troff-man
.manifest application/x-ms-manifest
.map text/plain
.mdb application/x-msaccess
.mdp application/octet-stream
.me application/x-troff-me
.mht message/rfc822
.mhtml message/rfc822
.mid audio/mid
.midi audio/mid
.mix application/octet-stream
.mmf application/x-smaf
.mno text/xml
.mny application/x-msmoney
.mov video/quicktime
.movie video/x-sgi-movie
.mp2 video/mpeg
.mp3 audio/mpeg
.mp4 audio/mpeg
.mpa video/mpeg
.mpe video/mpeg
.mpeg video/mpeg
.mpg video/mpeg
.mpp application/
.mpv2 video/mpeg
.ms application/x-troff-ms
.msi application/octet-stream
.mvb application/x-msmediaview
.nc application/x-netcdf
.nsc video/x-ms-asf
.nws message/rfc822
.ocx application/octet-stream
.oda application/oda
.ods application/oleobject
.p10 application/pkcs10
.p12 application/x-pkcs12
.p7b application/x-pkcs7-certificates
.p7c application/pkcs7-mime
.p7m application/pkcs7-mime
.p7r application/x-pkcs7-certreqresp
.p7s application/pkcs7-signature
.pbm image/x-portable-bitmap
.pcx application/octet-stream
.pcz application/octet-stream
.pdf application/pdf
.pfb application/octet-stream
.pfm application/octet-stream
.pfx application/x-pkcs12
.pgm image/x-portable-graymap
.pko application/
.pma application/x-perfmon
.pmc application/x-perfmon
.pml application/x-perfmon
.pmr application/x-perfmon
.pmw application/x-perfmon
.png image/png
.pnm image/x-portable-anymap
.pnz image/png
.pot application/
.ppm image/x-portable-pixmap
.pps application/
.ppt application/
.prf application/pics-rules
.prm application/octet-stream
.prx application/octet-stream
.ps application/postscript
.psd application/octet-stream
.psm application/octet-stream
.psp application/octet-stream
.pub application/x-mspublisher
.qt video/quicktime
.qtl application/x-quicktimeplayer
.qxd application/octet-stream
.ra audio/x-pn-realaudio
.ram audio/x-pn-realaudio
.rar application/octet-stream
.ras image/x-cmu-raster
.rdf application/rdf+xml
.rf image/vnd.rn-realflash
.rgb image/x-rgb
.rm application/vnd.rn-realmedia
.rmi audio/mid
.roff application/x-troff
.rpm audio/x-pn-realaudio-plugin
.rtf application/rtf
.rtx text/richtext
.scd application/x-msschedule
.sct text/scriptlet
.sea application/octet-stream
.setpay application/set-payment-initiation
.setreg application/set-registration-initiation
.sgml text/sgml
.sh application/x-sh
.shar application/x-shar
.sit application/x-stuffit
.sldasm application/octet-stream
.sldprt application/octet-stream
.smd audio/x-smd
.smi application/octet-stream
.smx audio/x-smd
.smz audio/x-smd
.snd audio/basic
.snp application/octet-stream
.spc application/x-pkcs7-certificates
.spl application/futuresplash
.src application/x-wais-source
.ssm application/streamingmedia
.sst application/
.stl application/
.sv4cpio application/x-sv4cpio
.sv4crc application/x-sv4crc
.svg application/octet-stream
.swf application/x-shockwave-flash
.t application/x-troff
.tar application/x-tar
.tcl application/x-tcl
.tex application/x-tex
.texi application/x-texinfo
.texinfo application/x-texinfo
.tgz application/x-compressed
.thn application/octet-stream
.tif image/tiff
.tiff image/tiff
.toc application/octet-stream
.tr application/x-troff
.trm application/x-msterminal
.tsv text/tab-separated-values
.ttf application/octet-stream
.txt text/plain
.u32 application/octet-stream
.uls text/iuls
.ustar application/x-ustar
.vbs text/vbscript
.vcf text/x-vcard
.vcs text/plain
.vdx application/vnd.visio
.vml text/xml
.vsd application/vnd.visio
.vss application/vnd.visio
.vst application/vnd.visio
.vsw application/vnd.visio
.vsx application/vnd.visio
.vtx application/vnd.visio
.wav audio/wav
.wax audio/x-ms-wax
.wbmp image/vnd.wap.wbmp
.wcm application/
.wdb application/
.wks application/
.wm video/x-ms-wm
.wma audio/x-ms-wma
.wmd application/x-ms-wmd
.wmf application/x-msmetafile
.wml text/vnd.wap.wml
.wmlc application/vnd.wap.wmlc
.wmls text/vnd.wap.wmlscript
.wmlsc application/vnd.wap.wmlscriptc
.wmp video/x-ms-wmp
.wmv video/x-ms-wmv
.wmx video/x-ms-wmx
.wmz application/x-ms-wmz
.world application/octet-stream
.wps application/
.wri application/x-mswrite
.wrl x-world/x-vrml
.wrz x-world/x-vrml
.wsdl text/xml
.wvx video/x-ms-wvx
.x application/directx
.xaf x-world/x-vrml
.xbm image/x-xbitmap
.xdr text/plain
.xla application/
.xlc application/
.xlm application/
.xls application/
.xlt application/
.xlw application/
.xml text/xml
.xof x-world/x-vrml
.xpm image/x-xpixmap
.xsd text/xml
.xsf text/xml
.xsl text/xml
.xslt text/xml
.xsn application/octet-stream
.xwd image/x-xwindowdump
.z application/x-compress
.zip application/x-zip-compressed

Friday, January 14, 2011

Internet Information Services (IIS) 7.5 Express

Microsoft has released final version of it’s so called lighter version of IIS 7.5 called as “IIS 7.5 Express” which makes developers to utilize the features of IIS 7.5 in Windows XP and above Operating system environments. IIS 7.5 Express is a simple and self-contained version of IIS 7.5 that is optimized for developers. IIS 7.5 Express enhances your ability to develop and test web applications on Windows by combining the power of IIS 7.5 with the convenience of a lightweight web server like the ASP.NET Development Server (also known as Cassini). IIS 7.5 Express is included with Microsoft Web Matrix, an integrated suite of tools designed to make developing web applications on Windows simple and seamless. IIS 7.5 Express can also be used with Visual Studio 2010 as a powerful alternative to Cassini. The benefits of using IIS 7.5 Express include:

  • The same web server that runs on your production server is now available on your development computer.
  • Most tasks can be done without the need for administrative privileges.
  • IIS 7.5 Express runs on Windows XP and all later versions of Windows.
  • Many users can work independently on the same computer.

Download: IIS 7.5 Express Final

Thursday, September 16, 2010

"LM/W3SVC/1/root/webapplication" already exists. Please choose a different alias.

This is the very common error that any web programmer can face when we web share a folder.The solution is to remove the virtual directory entry from the IIS window. But what if the entry does not exist in the IIS window. This situation comes when you delete/move the folder from the c:\inetpub\wwwroot folder before deleting its virtual directory. So the solution is to remove the virtual directory entry from the IIS.

Here is the Procedure to remove virtual directory entry from the IIS database?

Here are the 3 ways how we can do this.

1. Use following command

iisweb /delete WebSite [WebSite...][/s Computer [/u[Domain\]User/p Password]]

You can get more help on this from here.

2. Recreate the folder with the same name in the c:\inetpub\wwwroot and then restart the IIS (use iisreset.exe). You will see the virtual directory with the same name in the IIS window, now remove the virtual directory from IIS.

3. Use the following command by opening the command prompt.
c:\inetpub\wwwroot\cscript adsutil.vbs DELETE "W3SVC\1\root\"

For more information on adsutil.vbs.

Hope this helps.