<!-- indicates that the socketio.js file is a node.js application
to be handled by the iisnode module -->
<add name="iisnode" path="app.js" verb="*" modules="iisnode" />
<add name="iisnode-socketio" path="config/socketio.js" verb="*" modules="iisnode" />
<iisnode node_env="PRODUCTION"
nodeProcessCountPerApplication="1"
maxConcurrentRequestsPerProcess="1024"
maxNamedPipeConnectionRetry="100"
namedPipeConnectionRetryDelay="250"
maxNamedPipeConnectionPoolSize="512"
maxNamedPipePooledConnectionAge="30000"
asyncCompletionThreadCount="0"
initialRequestBufferSize="4096"
maxRequestBufferSize="65536"
uncFileChangesPollingInterval="5000"
gracefulShutdownTimeout="60000"
debugHeaderEnabled="false"
debuggerPortRange="5058-6058"
debuggerPathSegment="debug"
maxTotalLogFileSizeInKB="1024"
configOverrides="iisnode.yml"
watchedFiles="web.config;*.js" />
<!-- indicate that all strafic the URL paths beginning with 'socket.io' should be
redirected to the server socketio.js, node.js, application to avoid IIS attempting to
serve that content using other handlers (e.g. static file handlers)
<rule name="LogFile" patternSyntax="ECMAScript">
<action type="Rewrite" url="app.js"/>
<rule name="DynamicContent">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="True"/>
<action type="Rewrite" url="app.js"/>
<!-- disable the IIS websocket module to allow node.js to provide its own
WebSocket implementation -->
<webSocket enabled="false" />