Risolto il problema.
Ricercando su internet tra i blog in lingua inglese ho trovato la soluzione al mio problema. La versione più dettagliata della soluzione la trovate qui:
http://hatka.net/wlogdev/archive/2004/08/29/178.aspx In pratica il problema sorge quando la path del sito non si trova nella stessa del framework (1.1) e l'OS è win2003,
anche se si hanno i permessi di lettura e scrittura. Questa combinazione di configurazione fà in modo da rendere inutile la classe createdirectory, restituendo all'utente l'errore:
Could not find a part of the path "D:\". La soluzione che ho adoperato prendendo spunto dal sito del link all'inizio di questo post è stata provata con una pagina test
creacart.aspx ed una
nuovacartella.vb.
la prima contiene un solo bottone:
<%@ Page Inherits="nuovacartella" Src="nuovacartella.vb" Language="VB" %>
<html>
<head>
</head>
<body>
<form runat="server">
<asp:Button id="Button1" onclick="Button1_Click" runat="server" Text="Button"></asp:Button>
</form>
</body>
</html>
La seconda è una pagina in vb dal seguente codice:
Imports System.IO
imports System.Web.Ui
Imports System.Web.UI.Webcontrols
Imports System.Web.UI.Htmlcontrols
Public Class nuovacartella
Inherits Page
Declare Function _mkdir Lib "msvcrt.dll" (ByVal path As String) As Integer
'Questa funzione dovrebbe essere un sicuro sostituto per Directory.CreateDirectory()
Shared Function creaCartella(ByVal path As String) As DirectoryInfo
Dim returnCode As Integer = _mkdir(path)
If returnCode <> 0 Then
Throw New ApplicationException("Error calling [msvcrt.dll]:_wmkdir(" + path + "), error code: " + returnCode.ToString())
End If
Return New DirectoryInfo(path)
End Function 'creaCartella
sub button1_click(sender As Object, e As System.EventArgs)
_mkdir("d:/inetpub/webs/ilmiositowebit/public/test")
end sub
end class Spero che questa soluzione possa essere utile a chi abbia incontrato lo stesso problema.
Ciao, M.
Modificato da martonair2 il 02 settembre 2005 19.46 -