ブラウザでサイトルートリクエストに対してハンドラを呼び出そうとしています。つまり、http://my.example.com
です。以下のコードでは、/ Testを呼び出すと、ハンドラは期待どおりに動作しますが、それがなければHTTP Error 403.14 - Forbidden
(ディレクトリブラウジングは許可されません)と表示されます。サイトルート用の汎用ハンドラ
- のWindows Server 2012-R2/IISので、拡張子を適切
- に答えはありませんでした2012 this questionから
- 同様に動作します
- ScriptModule-4.0モジュールが継承されて関与なしMVCはありません8.5
- ジェネリックハンドラが例として挙げられています... Soap Webサービスでもあります
私はさまざまな組み合わせを試みましたnsのスラッシュとアスタリスクをハンドラパスに使用します。
ジェネリックハンドラ:
Public Class Test
Implements IHttpHandler
Public Sub ProcessRequest(Context As HttpContext) _
Implements IHttpHandler.ProcessRequest
With New StringBuilder
.AppendLine("<html>")
.AppendLine("<head>")
.AppendLine("<title>Test</title>")
.AppendLine("</head>")
.AppendLine("<body>")
.AppendLine("<p>Hello World</p>")
.AppendLine("</body>")
.AppendLine("</html>")
Context.Response.Write(.ToString)
End With
End Sub
End Class
...とweb.configファイルで私は、次があります。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<compilation strict="false" explicit="true" debug="true" targetFramework="4.5.2" />
<customErrors mode="Off" />
<authentication mode="Windows" />
<httpRuntime targetFramework="4.5.2" />
</system.web>
<system.webServer>
<handlers>
<add verb="*" name="Test" type="MyApp.Test" path="Test" />
</handlers>
<defaultDocument enabled="true">
<files>
<clear />
<add value="Test" />
</files>
</defaultDocument>
</system.webServer>
</configuration>