2009-06-26 10 views

Antwort

4

Sie können den physischen lokalen Pfad der Webanwendung ermitteln, indem Sie die IisSettings-Richtlinie auf Ihrer Site abfragen.

wie diese:

using System; 
using System.Collections.Generic; 
using System.Text; 
using Microsoft.SharePoint; 
using Microsoft.SharePoint.Administration; 

namespace WSStest 
{ 
    class Program 
    { 
    static void Main(string[] args) 
    { 
     using (SPSite site = new SPSite("http://<YOURSITE>")) 
     { 
     string localPath = site.WebApplication.IisSettings[SPUrlZone.Default].Path.ToString(); 
     Console.WriteLine("Local path: " + localPath); 
     } 
    } 
    } 
} 
+0

Ich habe nur ein paar Uhr-outs ich Magnus' Code hinzufügen würde (was im Grunde auf das Geld ist). Erstens ist es wahrscheinlich besser, die SPContext.Current.Site zu verwenden, anstatt eine Site explizit zu öffnen (da Sie * nach der aktuellen Site suchen). Zweitens: Nimm nicht SPUrlZone.Default an. Wenn Sie über eine URL für eine erweiterte Zone zugreifen und tatsächlich den IIS-Pfad des erweiterten Webs benötigen, wird der korrekte Pfad nicht mit dem obigen Code zurückgegeben. Führen Sie stattdessen eine Suche in der AlternateUrls-Eigenschaft der SPWebApplication durch, um festzustellen, aus welcher Zone der Aufruf stammt, und verwenden Sie sie stattdessen. –

1

siteCollection.WebApplication.IisSettings [SPUrlZone.Default] .path;

Verwandte Themen