質問
ASP.NetにWebDAVサーバーを実装したいと考えています。アプリはIIS 6に展開されます。この機能を提供するいくつかのフレームワークを見てきましたが、IIS設定を(明らかに)変更せずにどのように達成できるかを特定できないようです。
特定の質問は、IHttpModule / IHttpHandlerが追加のWebDAV動詞(LOCK、OPTIONS、PROFINDなど)を処理できるようにIISとASP.Netを構成する方法です。
解決
IIS設定を変更せずに、IIS 6でWebDAV動詞を構成する方法はありません。 IIS 7以降でのみ可能です。
IIS 6でWebDAVに必要なすべての動詞を処理するには、アプリケーションwildacrdマップを作成する必要があります。 IIS 6 MMCコンソールでWebアプリケーションを右クリックして、プロパティ-<!> gt; 仮想ディレクトリタブ-<!> gt; 構成。 [挿入]をクリックして、新しいワイルドカードマップを追加します。
- 実行可能ファイル-\ Microsoft.NET \ Framework \ <!> lt; .Net フレームワークバージョン<!> gt; \ aspnet_isapi.dll
- ファイルが存在することを確認-チェックなし
アプリケーションプロパティの[ホームディレクトリ]タブで、実行権限をスクリプトのみに設定し、読み取りを許可します。
web.configの例を次に示します。 http:// www .webdavsystem.com / server / prev / v2 / documentation / hosting_iis_asp_net / webconfig_example
このweb.configの例は、Server 2003上のIIS 6上のASP.NET 2.0およびXP上のIIS 5.1で作成およびテストされていることに注意してください。 <!> amp;、%、+、および末尾のドット(。)は処理しません。
ASP.NET 4.xは、WebDAVサーバーの特殊文字を処理する手段を提供します。設定web.config (<!> amp;、%、および '。'を含む)。 IISバージョン6〜8をサポートするweb.configは、 IT Hit WebDAV Server Engine Wizard によって生成されます。
他のヒント
WebDAVに関するGeoff Laneの記事をご覧ください:
このプロジェクトを見てみる http://sourceforge.net/projects/webdav/ C#でのwebdav実装の場合。独自に構築する必要がある場合は、完成したものを参照するのが良いでしょう。再利用できればさらに良い。
はい、IIS6設定を変更して、.NETのISAPIモジュールをすべての要求タイプにバインドし、ファイルが存在するかどうかをチェックしないようにする必要があります。 IISでこれを行う他の方法はありません。WindowsのWeb開発クライアントは、webdavサポートを確認するときに、Webサイトのルート(/)でOPTIONS要求を行うためです。
II7にはさらにオプションがあります...