Je suis un débutant, mais je suis incapable de faire fonctionner ce code. FileSweeper est supposé démarrer un timmer qui déclenche fileCopy sur un serveur web. fileSweeoer est déclenché par global.asax. FileCopy va ensuite copier le fichier. Cependant, FC.copy ne se déclenche jamais. Toute aide/explication serait utile!System.Threading.Timer ne pas tirer, global.aspx
Cela ferait-il une différence s'il s'agissait d'une classe exécutée sur un serveur Web?
Mon code est de http://msdn.microsoft.com/en-us/library/system.threading.timer.aspx.
Imports Microsoft.VisualBasic
Imports System
Imports System.Threading
Public Class fileSweeper
Dim stateTimer As Timer
<MTAThread()> _
Sub Main()
Dim FC As New fileCopy
Dim tcb As TimerCallback = AddressOf FC.Copy
stateTimer = New Timer(tcb, "", 20000, 200000)
GC.KeepAlive(stateTimer)
End Sub
End Class
Global.asax:
<%@ Application Language="VB" %>
<script runat="server">
Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
End Sub
Sub Application_End(ByVal sender As Object, ByVal e As EventArgs)
' Code that runs on application shutdown
End Sub
Sub Application_Error(ByVal sender As Object, ByVal e As EventArgs)
' Code that runs when an unhandled error occurs
End Sub
Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)
' Code that runs when a new session is started
Dim FS As New fileSweeper
FS.Main()
End Sub
Sub Session_End(ByVal sender As Object, ByVal e As EventArgs)
' Code that runs when a session ends.
' Note: The Session_End event is raised only when the sessionstate mode
' is set to InProc in the Web.config file. If session mode is set to StateServer
' or SQLServer, the event is not raised.
End Sub
</script>
Où activez-vous la minuterie? –
@Micheal Eakins que voulez-vous dire, pouvez-vous clarifier? THX – Sean
S'agit-il d'un site Web? Si oui, avez-vous un formulaire Web? Quelque chose doit démarrer l'événement Session_Start. J'ai testé votre code et si l'événement Session_Start se déclenche, votre code fonctionne. –