Ответ 1
Даниэль Т ответ:
Оказывается, что сопоставление обработчика IIS 7 отличается от отображения обработчика IIS 6. В IIS 6 вы можете сопоставить свои обработчики следующим образом: web.config
:
<configuration>
<system.web>
<httpHandlers>
<add verb="GET" path="*.jpg,*.gif,*.bmp,*.png" type="YourProject.ImageHandler" />
</httpHandlers>
</system.web>
</configuration>
Он позволяет использовать несколько путей, разделенных запятой. В IIS 7 он находится в другом разделе:
<configuration>
<system.webServer>
<handlers>
<add name="ImageHandler for JPG" path="*.jpg" verb="GET" type="YourProject.ImageHandler" resourceType="File" />
<add name="ImageHandler for GIF" path="*.gif" verb="GET" type="YourProject.ImageHandler" resourceType="File" />
<add name="ImageHandler for BMP" path="*.bmp" verb="GET" type="YourProject.ImageHandler" resourceType="File" />
<add name="ImageHandler for PNG" path="*.png" verb="GET" type="YourProject.ImageHandler" resourceType="File" />
</handlers>
</system.webServer>
</configuration>
Он не поддерживает несколько путей, поэтому вам нужно сопоставить обработчик для каждого пути.
Вам, вероятно, придется сопоставить его в обоих местах, потому что внутренний dev-сервер Visual Studio использует IIS 6 (или IIS 7, работающий в режиме совместимости), тогда как производственный сервер, вероятно, использует IIS 7.