Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > Web service + Timer


Автор: olgofur 1.6.2012, 11:00
Добрый день всем!
Мне нужно выполнять периодическую проверку директории и если "есть че" - слать на почту. Эти функции (проверка и отправка почты) реализованы в вебсервисе, и соответственно..
вопрос номер раз: для выполнения поставленной задачи мне нужно просто  из клиента по таймеру вызывать функции сервиса?
если да, то вопрос номер два: почему это не пашет нифига? ни через System.Timers, ни через System.Threading. доходит до 1 строчки ReceiveFromDirectum и умирает, вообще дебаг прекращается.

Код клиента:
Код

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Collections;
using System.Threading;


namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
          
            
           //Timer myTimer = new Timer();
           //myTimer.Interval = 10000;
           //myTimer.Enabled = true;

           //myTimer.Elapsed += new ElapsedEventHandler(p1);
           // myTimer.Start();


            Timer t = new Timer(ReceiveFromDirectum, 5, 0, 10000);
            Console.WriteLine("Main thread: Doing other work here...");
            
   

           
        }

         public static void ReceiveFromDirectum(Object state)
        {
            
            localhost.Service1 MathService = new localhost.Service1();
            string[] recDir = MathService.DirList("c:\\1"); //проверяем папку, на выходе-список подкаталогов
            int i = 0;
            while (i<recDir.Count()) //если есть что
            {
                int err = MathService.SendEMail(recDir[i]);
                int del = MathService.DropDir(recDir[i]);
          
            }
        }
    }
}


Автор: DanielBecker 2.6.2012, 10:27
Используй http://msdn.microsoft.com/ru-ru/library/system.io.filesystemwatcher(v=vs.90).aspx он при изменении файловой системы генерирует события. smile 

Автор: olgofur 5.6.2012, 08:52
мм..спасибо за совет. а вообще пришлось использовать винформс и тамошний таймер. с ним такого косякак нет)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)