2012-04-29 12 views
7

Estoy buscando una forma de crear un directorio virtual con Microsoft.Web.Administration en un sitio web predeterminado pero sin crear una aplicación.IIS: Cómo crear el directorio virtual en el sitio web con Microsoft.Web.Administration

La única manera que he encontrado, crea aplicación:

Microsoft.Web.Administration.ServerManager manager = new Microsoft.Web.Administration.ServerManager(); 
Site defaultSite = manager.Sites[ "Default Web Site]; 
Microsoft.Web.Administration.Application app = 
defaultSite.Applications.Add("\virtDir", "c:\\path"); 
manager.CommitChanges(); 
+1

Por favor, encontrar el enlace a continuación: [http://stackoverflow.com/questions/1755316/creating-virtual-directory-in-iis-7 -0-using-c-net] [1] [1]: http://stackoverflow.com/questions/1755316/creating-virtual-directory-in-iis-7-0-using-c-net –

Respuesta

7

No estoy seguro si esto sigue siendo relevante, pero es bastante difícil de encontrar ninguna respuesta por buscar solo. Como acabo estoy luchando con la respuesta a esta pregunta exacta, lo mejor que se le ocurrió es que con el fin de acceder a los directorios virtuales de un Microsoft.Web.Administration.Site se accede a la primera aplicación en él:

var serverManager = new ServerManager(); 
site = serverManager.Sites.Add(websiteName, physicalPath, port); 
var dirs = site.Applications[0].VirtualDirectories; 

Un poco contra-intuitivo, pero parece que IIS creará una aplicación predeterminada para un sitio web que usted agregue.

+2

Aparentemente, la aplicación [0] es la aplicación predeterminada en la que se ejecuta el sitio web. Esto funcionó para poder agregar un directorio virtual directamente a la raíz. – JoelHess

+0

Funcionó para mí, también, bueno. –

8

Esto podría ser lo que está buscando:

var serverManager = new ServerManager(); 
serverManager.Sites["WebsiteName"].Applications["ApplicationName"].VirtualDirectories.Add("VirtualDirectoryName, "VirtualDirectoryPath"); 
Cuestiones relacionadas