8

ASP.Net に WebDAV サーバーを実装しようとしています。アプリは IIS 6 に展開されます。この機能を提供するフレームワークをいくつか見てきましたが、(明らかに) IIS 設定を変更せずにそれを実現する方法を特定できないようです。

私の具体的な質問は、IIS と ASP.Net を構成して、IHttpModule/IHttpHandler が追加の WebDAV 動詞 (つまり、LOCK、OPTIONS、PROFIND など) を処理できるようにする方法です。

4

3 に答える 3

8

IIS 設定を変更せずに IIS 6 で WebDAV 動詞を構成する方法はありません。IIS 7 以降でのみ可能です。

IIS 6 で WebDAV に必要なすべての動詞を処理するには、アプリケーションのワイルドカード マップを作成する必要があります。IIS 6 MMC コンソールで Web アプリケーションを右クリックし、 [プロパティ] -> [仮想ディレクトリ] タブ-> [構成] に移動します。[挿入]をクリックして、新しいワイルドカード マップを追加します。

  • 実行可能 - \Microsoft.NET\Framework\<.Net Framework バージョン>\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 および XP 上の IIS 5.1 上の ASP.NET 2.0 で特別に作成およびテストされていることに注意してください。&、%、+、および末尾のドット (.) は処理されません。

ASP.NET 4.x は、WebDAV サーバーで特殊文字を処理する手段を提供し、&、%、および '.' を含むweb.config を構成します。IIS バージョン 6 ~ 8 をサポートする web.config は、IT Hit WebDAV サーバー エンジン ウィザードによって生成されます。

于 2013-02-12T18:50:36.373 に答える
4

C# での webdav の実装については、このプロジェクトhttp://sourceforge.net/projects/webdav/を参照してください。独自のものを作成する必要がある場合は、完成したものを参照すると便利です。再利用できればなお良し。

はい、IIS6 設定を変更して、.NET 用 ISAPI モジュールをすべての要求タイプにバインドし、ファイルが存在するかどうかをチェックしないようにする必要があります。IIS6 でこれを行う方法は他にありません。Windows 上の Web 開発クライアントは、webdav のサポートを確認するときに、Web サイトのルート (/) で OPTIONS 要求を行うためです。

II7 はより多くのオプションを提供します...

于 2009-03-10T15:06:24.237 に答える