Jon*_*ood 3 asp.net iis-7 httphandler
我一直在开发自定义HTTP处理程序.使用<httphandlers>ASP.NET 4.0和IIS7 的新web.config 部分,这在我的开发机器上运行良好.
但是,当我将代码上传到我的共享主机帐户时,我收到500服务器错误.我打电话给我的托管公司,他们说服务器报告了一个关于检测到的web.config设置的错误,该设置不适用于集成管道模式.
当他将IIS从集成模式切换到经典模式时,主页然后加载正常,但我的路由页面都报告403服务器错误.
我很确定我需要集成模式才能使该<httphandlers>部分工作,但我绝对不是IIS /管理员.有谁知道问题可能是什么或我接下来可以尝试什么?
编辑:我更新的web.config的大部分:
<?xml version="1.0"?>
<configuration>
<connectionStrings>
[...]
</connectionStrings>
<appSettings>
[...]
</appSettings>
<system.web>
<httpHandlers>
<add verb="*" path="*.zip" type="BlackBelt.ZipHttpHandler"/>
</httpHandlers>
<compilation debug="false" targetFramework="4.0"/>
</system.web>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
<handlers>
<add verb="*" path="BlackBelt.ZipHttpHandler" name="BlackBelt.ZipHttpHandler" type="BlackBelt.ZipHttpHandler"/>
</handlers>
<!-- Redirect domain.com to www.domain.com -->
<rewrite>
<rules>
<clear/>
<rule name="WWW Rewrite" enabled="true">
<match url="(.*)"/>
<conditions>
<add input="{HTTP_HOST}" negate="true" pattern="^www\.([.a-zA-Z0-9]+)$"/>
</conditions>
<action type="Redirect" url="http://www.{HTTP_HOST}/{R:0}" appendQueryString="true" redirectType="Permanent"/>
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
Run Code Online (Sandbox Code Playgroud)
感谢Pauli,我能够解决这个问题.虽然<system.web><httpHandlers>是从Visual Studio运行时必须更改以使其工作<system.webServer><handlers>的部分,但是在运行IIS7的服务器上运行时,我必须修改该部分以使其工作.
我收到了电子邮件,询问我是如何解决这个问题的.我写了一篇文章,描述了确切的步骤并呈现了我的代码.如果有人想看到这篇文章,请访问http://www.blackbeltcoder.com/Articles/asp/writing-a-custom-http-handler-in-asp-net.
| 归档时间: |
|
| 查看次数: |
11660 次 |
| 最近记录: |