2009-03-09 17 views
8

Sto cercando di implementare un server WebDAV in ASP.Net. l'app verrà distribuita su IIS 6. Ho visto alcuni framework che forniscono questa funzionalità, ma non riesco a capire come sono in grado di farlo senza modificare (apparentemente) le impostazioni di IIS..Net WebDAV Server

La mia domanda specifica è come faccio a configurare IIS e ASP.Net modo che un IHttpModule/IHttpHandler potrebbe avere l'opportunità di gestire qualsiasi dei verbi aggiuntivi WebDAV (cioè BLOCCO, OPZIONI, PROFIND, etc.)

risposta

8

Non v'è alcun modo per configurare i verbi WebDAV in IIS 6 senza modificare le impostazioni di IIS. È possibile solo con IIS 7 e versioni successive.

Per gestire tutti i verbi richiesti da WebDAV in IIS 6 è necessario creare una mappa wildacrd dell'applicazione. Fare clic con il pulsante destro del mouse sulla propria applicazione Web nella console MMC di IIS 6 e passare a Proprietà ->Directory virtuale Scheda->Configurazione. Fai clic su Inserisci per aggiungere una nuova mappa jolly.

  • eseguibile - \ Microsoft.NET \ Framework \ < .Net Framework Version > \ aspnet_isapi.dll
  • Verificare tale file esiste - Non selezionata

enter image description here

On Home Directory scheda delle proprietà dell'applicazione impostata Autorizzazioni di esecuzione a Script solo e consentire letture.

Ecco l'esempio web.config: http://www.webdavsystem.com/server/prev/v2/documentation/hosting_iis_asp_net/webconfig_example

Si prega di notare che questo esempio web.config è stato appositamente creato e testato con ASP.NET 2.0 in IIS 6 su Server 2003 e IIS 5.1 in XP. Non gestisce &,%, + e punti finali (.).

ASP.NET 4.x fornisce i mezzi per gestire qualsiasi carattere speciale nel server WebDAV, configuring web.config, incluso &,% e ".". Il web.config che supporta le versioni di IIS 6-8 viene generato da IT Hit WebDAV Server Engine Wizard.

4

vorrei dare un'occhiata a questo progetto http://sourceforge.net/projects/webdav/ per un'implementazione WebDAV in C#. Se devi costruire il tuo, è bello fare riferimento a quello completato; ancora meglio se puoi riutilizzarlo.

Sì, sarà necessario modificare le impostazioni IIS6 per supportare l'associazione del modulo ISAPI per .NET a tutti i tipi di richiesta e non verificare se esiste un file. Non c'è altro modo per farlo su IIS6 perché i client di sviluppo Web su Windows eseguiranno una richiesta OPTIONS nella directory principale (/) del sito Web quando si verifica il supporto di webdav.

II7 vi dà più opzioni ...