Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 1.0/1.1
Monitorare file system
mercoledì 01 febbraio 2006 - 17.08
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Trinità
Profilo
| Junior Member
62
messaggi | Data Invio:
mer 1 feb 2006 - 17:08
Ho l'esigenza da un sito internet asp.net di monitorare le creazioni di file in una cartella di questo file. I file vengono upladati in questa cartella da un programma di terze parti.
avrei trovato
Dim objWatcher As New System.IO.FileSystemWatcher
objWatcher.Path = Server.MapPath("Images")
objWatcher.IncludeSubdirectories = True
'objWatcher.NotifyFilter = NotifyFilters.CreationTime
'objWatcher.Filter = "*.jpg"
AddHandler objWatcher.Created, AddressOf OnChanged
e pensavo di mette questo pezzo di codice nel global asax in sub application start
poi Private Shared Sub OnChanged(ByVal source As Object, ByVal e As FileSystemEventArgs)
'-----------------------------------------------------------------------------------------
Dim cnx As SqlConnection = New SqlConnection(ConfigurationSettings.AppSettings("conn_test"))
'-----------------------------------------------------------------------------------------
Dim sql As String
sql = "INSERT into Tabella1 (campo) VALUES ('" & Date.Now.ToLongTimeString & "')"
Dim cmd As New SqlCommand(sql, cnx)
'---------------------------------------------------------------------------
cnx.Open()
cmd.ExecuteNonQuery()
cnx.Close()
End Sub
solo che sembra non funzionare. Non sò nemmeno se può farlo considerando la natura disconnessa del sito.
Come posso risolvere ?
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
mer 1 feb 2006 - 17:14
>solo che sembra non funzionare. Non sò nemmeno se può farlo considerando
> la natura disconnessa del sito.
>Come posso risolvere ?
Infatti, non mi risulta che il FileSystemWatacher possa funzionare in una applicazione Web in questo modo.
Come puoi risolvere ?
Costruire una applicazione Windows che faccia uso del FileSystemWatcher e comunichi con l'applicazione ASP.NET via Database. Credo sia l'unica.
Ciao
David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/
Trinità
Profilo
| Junior Member
62
messaggi | Data Invio:
mer 1 feb 2006 - 19:52
dato che è possibile fare uno scheduler pensavo si potesse fare una cosa del genere. Forse un polling, ma allora non mi server quella classe, potrei fare con il fileinfo e basta...
Trinità
Profilo
| Junior Member
62
messaggi | Data Invio:
gio 2 feb 2006 - 11:10
allora facendo
Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
Dim objWatcher As New System.IO.FileSystemWatcher
Application.Add("objWatcher", objWatcher)
objWatcher.Path = "C:\Inetpub\wwwroot\net_prov\Images"
objWatcher.IncludeSubdirectories = True
'objWatcher.Filter = "*.jpg"
objWatcher.EnableRaisingEvents = True
AddHandler objWatcher.Created, AddressOf OnChanged
End Sub
e
Dim str As String = String.Empty
str = e.FullPath
Dim dir_str As String
dir_str = str
Dim fs As New FileStream(dir_str, FileMode.OpenOrCreate, FileAccess.Read)
Dim MyData(fs.Length) As Byte
fs.Read(MyData, 0, fs.Length)
Dim sql As String
sql = "INSERT into Tabella1 (campo, campo_img) VALUES (@srt, @img)"
Dim cmd As New SqlCommand(sql, cnx)
cmd.Parameters.Add("@srt", SqlDbType.VarChar).Value = str
cmd.Parameters.Add("@img", SqlDbType.Image).Value = MyData
'---------------------------------------------------------------------------
cnx.Open()
cmd.ExecuteNonQuery()
cnx.Close()
funziona bene
compilo, lancio la index.aspx e quando copio i file nella directory stabilita vado a scrivere nel db
tutto funziona bene (con file piccoli sotto i 20 kb)
quando vado a vedere una pagina che estrae i dati dal campo blob il processo si ferma ... perchè ? dopo aver visitato quella pagina il FileSystemWatcher non funziona più
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
lun 6 feb 2006 - 11:40
>quando vado a vedere una pagina che estrae i dati dal campo blob
>il processo si ferma ... perchè ? dopo aver visitato quella
> pagina il FileSystemWatcher non funziona più
Come ti ho detto, secndo me il suo uso non è adatto ad una applicazione Web.
Ciao
David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/
Torna su
Stanze Forum
Elenco Threads
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 !