Virtual directory

lunedì 20 febbraio 2006 - 17.05

makabe Profilo | Newbie

Salve a tutti,
qualcuno sa come si crea da codice (VB.NET o asp.net)una virtual directory e come si impostano dei diritti di accesso su di essa?
inoltre, sempre da codice è possibile modificare il file web.config? Come?

anticipatamente grazie

Brainkiller Profilo | Guru

>Salve a tutti,
>qualcuno sa come si crea da codice (VB.NET o asp.net)una virtual
>directory e come si impostano dei diritti di accesso su di essa?

Ciao,
chiedi questa cosa perchè vuoi permettere ad altri utenti di creare o rimuovere virtual directory oppure perchè vuoi farlo tu ? Ci sarebbero due soluzioni via script (vbs, wsh) o via .NET. Via .NET è un po' più complesso. Cosa preferisci ?

>inoltre, sempre da codice è possibile modificare il file web.config?
>Come?

Il Web.config è un file .xml a tutti gli effetti quindi lo puoi modificare usando le classi XmlDocument, XPath, ecc. è composto da vari nodi, devi prima provare a caricarlo in una istanza della classe XmlDocument con il metodo Load() e con gli altri metodi ti sposti sui vari nodi. Qui trovi qualcosa:
http://www.dotnethell.it/articles/DOMXML.aspx

Ciao


David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/

makabe Profilo | Newbie

vorrei creare un setup lanciando il quale si riesca ad installare un'applicazione asp.net (costituita da un insieme di file messi in una cartella fisica in cui è mappata una cartella virtuale di iis).
vorrei che i diritti di accesso a tale cartella siano impostati solo durante il setup.

via .NET

makabe Profilo | Newbie

non riesco a modificare il file web.config, quali parametri devo settare?

makabe Profilo | Newbie

Il mio obiettivo è di modificare (una tantum) il file web.config.
Questa modifica va effettuata solo durante la fase di installazione di un'applicazione asp.net.
Devo poter aggiungere un tag del tipo

<server>nome server</server>

makabe Profilo | Newbie

grazie per la segnalazione dell'articolo, ma facendo così, non riesco a scrivere su web.config.

in WebForm1.aspx

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Inserire qui il codice utente necessario per inizializzare la pagina
Dim path As String = "C:\Inetpub\wwwroot\MyJWebApplication\Web.config"
'istanzio il documento
Dim Doc As New XmlDocument
'lo carico in memoria
Doc.Load(path)
'recupero il nodo root
Dim element As XmlElement = Doc.DocumentElement
'recupero il valore all'interno del primo figlio dell'elemento root
Dim node As XmlNode

Dim NodeCap As XmlNode
For Each node In element.ChildNodes
If node.Name.Equals("configuration") Then
'creo il nodo
NodeCap = Doc.CreateNode(XmlNodeType.Element, "server", "")
'imposto il valore
NodeCap.InnerText = "nomeserver"
'l'aggiungo al nodo
node.AppendChild(NodeCap)
'salvo le modifiche
Doc.Save(path)
End If
Next


ho dovuto inserire l'intero path di web.config, se no non me lo vede l'applicazione.

makabe Profilo | Newbie

non riesco, da codice, a modificare il file web.config


pascual Profilo | Newbie

Non so se ho capito quello che chiedi ma forse puoi risolvere così

'Inserire qui il codice utente necessario per inizializzare la pagina
Dim path As String = "C:\Inetpub\wwwroot\MyJWebApplication\Web.config"
'istanzio il documento
Dim Doc As New XmlDocument
'lo carico in memoria
Doc.Load(path)
'recupero il nodo root
Dim element As XmlElement = Doc.DocumentElement

Dim NodeCap As XmlNode
'creo il nodo
NodeCap = Doc.CreateNode(XmlNodeType.Element, "server", "")
'imposto il valore
NodeCap.InnerText = "nomeserver"

Dim strXpath = "//configuration"
Dim node As XmlNode = Doc.SelectSingleNode(strXpath)
node.AppendChild(NodeCap)

Doc.Save(path)

Ovviamente devi avere i permessi per scrivere nel web.config

Ogni domenica puoi vincere o perdere. La questione e': sei capace di fare entrambe le cose da uomo?
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5