.NETを使用してRESTサービスを作成していて、着信要求を処理するために汎用ハンドラーDefault.ashxを使用しています。これにより、問題なく "http:// rest/test"のようなメソッドを使用してサービスにアクセスできます。しかし、ファイル拡張子が追加されると、IISは要求をリダイレクトせず、代わりにファイルを探します。 "http://foo/test.xml"や "http://foo/test.json"のようなURLリクエストもDefaultHandler.ashxによって処理されるようにweb.configをどのように変更できますか?私はそれを可能にしていることを知っているが、構成を覚えていないうちにこれをやった。デフォルトハンドラーを使用した.NETのREST
2
A
答えて
1
私のHttpCloneアプリのweb.configでこれの例を見ることができます。その要点は、あなたがこのようにしたくない拡張子のハンドラを除去することを含む:
<system.webServer>
...
<handlers accessPolicy="Read, Script">
<clear />
<add name="Favorite-Icon" path="/favicon.ico" verb="GET,HEAD" modules="StaticFileModule" resourceType="File" requireAccess="Read" />
<add name="HttpClone" path="*" verb="GET,HEAD,POST,DEBUG" type="Namespace.MyCustomHandler, AssemblyName" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode" />
</handlers>
これは「/favicon.ico」を除くすべてのURIのためのすべての要求のためにカスタムハンドラを使用することを言います。 'Default.ashx'を使用する必要がある場合は、ashx型のハンドラを取得し、このようにすべてのパスを処理するようにマップする必要があります。一般的に、ashx拡張ハンドラは必要ありませんが、IHttpHandlerを実装し、上記の 'type'属性で参照してください。
cassiniウェブサーバー(VStudioのテストサーバー)は、デフォルトのディレクトリ '/'をハンドラにマップしないことに注意してください。これを修正するには、default.aspxドキュメントが存在する必要があります(空でも構いませんが)。
注2 - 上記の設定は、統合モードのみです。クラシックモードのコンセプトは同じですが、設定は異なる場所にあります。
関連する問題
- 1. デフォルトハンドラーを使用するディレクトリー索引
- 2. Rest APIを使用した.NETプラットフォームのアーキテクチャ
- 3. .NETからRESt APIを使用する
- 4. AWSを使用したREST APIのバージョン
- 5. GoConveyを使用したREST APIのテスト
- 6. Pythonを使用したXML POST RESTリクエスト
- 7. REST APIを使用したRuby on Rails
- 8. Swaggerを使用したSpring REST APIドキュメント
- 9. jax-rsを使用したRESTサービス:BeanCreationException
- 10. jQueryフロントエンドを使用したREST Webサービスセキュリティ
- 11. RESTアーキテクチャを使用したSpringセキュリティ
- 12. ユーザーオブジェクトを使用したDjango-rest-auth
- 13. twitter jqueryを使用したREST API
- 14. CodeIgniterを使用したREST API
- 15. Strutsを使用したREST API
- 16. Java/Sereniumを使用したREST XMLリクエストテスト
- 17. DataSourceを使用したJava REST
- 18. Node.jsを使用したPoll RESTサービス
- 19. .netを使用したファイアウォール
- 20. EurekaをREST APIを使用したレジストリとして使用
- 21. .NETでRESTベースのWebサービスを使用する
- 22. .NETベースのRESTサービスの作成 - スレッドプールとシングルトンの使用
- 23. .NET RESTサービスの実装でのスレッドプールの使用
- 24. 'open' RESTフレームワーク(.Net)
- 25. ユニットテスト.NET RESTサービス?
- 26. REST for .Net?
- 27. HBaseでLIMITを使用する方法.Net RESTクライアント
- 28. .NETを使用したXamarin iOSのローカライゼーション
- 29. InstallUtilを使用した.NETサービスのインストール
- 30. HttpRequestMessageまたはStreamを使用したRESTファイルのアップロード?
IISのどのバージョンですか? – SLaks
Windows 2008 R2上のIIS 7 – user1106748