.NET Server

Web.config File Example for WebDAV

In this article

Web.config File Example for WebDAV

The web.config file below is suitable for use in IIS 5.1, 6.0 and IIS 7.0 both in classic and integrated mode:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
 
      <!--
         Section for IIS 6 and IIS 5.1. Wildcard map must be configured in IIS.
        
         To allow folders with 'bin', 'App_code', 'App_Data', etc names and files with 'web.config' name
         to be created in your storage, aspnet_filter.dll filter must be removed at the server level.
      -->
      <system.web>
           
            <!-- This section also used in IIS 7 classic mode -->
            <httpHandlers>
                  <clear />
                  <add verb="*" path="*" type="WebDAVServer.NtfsStorage.WebDAVHandler, WebDAVServer.NtfsStorage" />
            </httpHandlers>
           
            <!-- This section also used in IIS 7 classic mode -->
            <httpModules>
                  <remove name="FileAuthorization" />
                  <add name="ResumableUploadModule" type="ITHit.WebDAV.Server.ResumableUpload.ResumableUploadModule, ITHit.WebDAV.Server" />
            </httpModules>
 
            <!-- Maximum upload file segment size in Kb, max 2097151 (2Gb) for asp.net -->
            <httpRuntime executionTimeout="2400" maxRequestLength="2097151" />
            <customErrors mode="Off" />
            <authentication mode="None" />
            <authorization>
                  <!-- Allow all users -->
                  <allow users="*" />
            </authorization>
            <globalization requestEncoding="utf-8" responseEncoding="utf-8" />
      </system.web>
 
 
      <!--
         Section for IIS 7. ASP.NET and ISAPI Extensions must be enabled.
         No additional wildcard map configuration is required.
         Edit path to aspnet_isapi.dll below if your application runs in Classic mode.
      -->
      <system.webServer>
            <handlers>
                  <clear />
                  <!-- Used only in Classic mode in 32-bit application -->
                  <add name="aspnet_isapi 32-bit" path="*" verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" resourceType="Unspecified" requireAccess="Script" preCondition="classicMode,runtimeVersionv2.0,bitness32" />
 
                  <!-- Used only in Classic mode in 64-bit application -->
                  <add name="aspnet_isapi 64-bit" path="*" verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" resourceType="Unspecified" requireAccess="Script" preCondition="classicMode,runtimeVersionv2.0,bitness64" />
                 
                  <!-- Used only in Integrated mode. In classic mode system.web\httpHandlers section is used. -->
                  <add name="My WebDAV Handler" path="*" verb="*" type="WebDAVServer.NtfsStorage.WebDAVHandler, WebDAVServer.NtfsStorage" preCondition="integratedMode,runtimeVersionv2.0" />
            </handlers>
 
            <!-- Used only in Integrated mode. In classic mode system.web\httpModules section is used. -->
            <modules>
                  <remove name="FileAuthorization" />
                  <add name="ResumableUploadModule" type="ITHit.WebDAV.Server.ResumableUpload.ResumableUploadModule, ITHit.WebDAV.Server" />
            </modules>
           
            <validation validateIntegratedModeConfiguration="false" />
 
            <!-- Used in both Integrated and Classic mode -->
            <security>
                  <!-- As all files are stored in a storage there is no need for additional protection. -->
                  <requestFiltering>
 
                        <!-- Allow all files with 'web.config' name. -->
                        <fileExtensions>
                              <clear />
                        </fileExtensions>
 
                        <!-- Allow all folders with 'bin', 'App_code', 'App_Data', etc names. -->                    
                        <hiddenSegments>
                              <clear />
                        </hiddenSegments>
 
                        <!-- Maximum upload file segment size in bytes is 2147483648 (2Gb) for IIS 7 / asp.net. -->
                        <requestLimits maxAllowedContentLength="2147483648"/>
                  </requestFiltering>
            </security>
      </system.webServer>
     
</configuration>