راه اندازی دوربین مخفی برای Folder ها

8 11 2008

با سلام بدون مقدمه میرم سر اصل مطلب، مونیتور کردن تغییراتی که روی پوشه انجام میشه در نرم افزار های سرور کاربرد زیادی داره. فرض کنید من یک سروری دارم که هرگاه کاربر یک فایل جدیدی مثلا با پسوند pdf رو upload کرد نرم افزار سرور باید عملیاتی رو بر روی اون فایل انجام بده، بذارید با یک مثال کاربردی این مسئله رو عملیش کنیم.


using System.IO;
/* Watches the C:\Temp folder
     and notifies creation of new text files */

public static void WatchTempFolder()
{
    // Create the FileSystemWatcher object
   //  and set its properties
    FileSystemWatcher fileSystemWatcher =
                                 new FileSystemWatcher();
    fileSystemWatcher.Path = "C:\\Temp";
    fileSystemWatcher.NotifyFilter =
                                NotifyFilters.LastAccess |
                                NotifyFilters.LastWrite |
                                NotifyFilters.FileName |
                                NotifyFilters.DirectoryName;
    fileSystemWatcher.Filter = "*.txt";

    // Add event handlers.
    fileSystemWatcher.Created +=
                    new FileSystemEventHandler(OnCreated);

    // Begin watching.
    fileSystemWatcher.EnableRaisingEvents = true;

    // Wait for the user to quit the program.
    Console.WriteLine("Press q to quit the sample.");
    while(Console.Read()!='q');
}

// The event handler
private static void OnCreated(object source,
                            FileSystemEventArgs e)
{
    // Report codeprojects.wordpress.com :-)
}

خوب اجازه بدین کمی در مورد این تابعی که براتون نوشتم خلاصه وار توضیحاتی بدم، ما برای مونیتور کردن تغییراتی که بر روی فایل ها و فولدر هامون از کلاس FileSystemWatcher استفاده می کنیم که در System.IO ,namespace قرار داره. همانطور که از اسم کلاس هم مشخصه تقریبا یک وظیفه جاسوسی رو به عهده داره که با تنظیم مسیری که باید مونیتور بشه، به مانیتور کردن تغییرات در مسیر تعیین شده می پردازه. NotifyFilter, property به شما این امکان رو میده که تعیین کنین چه زمانی باید مانیتور کردن روی فایل ها انجام بشه برای مثال اگر سایز فایلی تغییر کرد، اگر فایلی تغییر نام پیدا کرد، اگر مثل این مثال فایل text جدیدی در مسیر تعیین شده ساخته شد و …. به همین سادگی می تونین این کار رو انجام بدین.

موفق باشید .

Advertisements

کارها

Information

3 responses

8 11 2008
Salar

ممنون. نکته جالبی بود
این دقیقا همان روشی هست که ویندوز در My Computer با استفاده از API متوجه تغییرات یک پوشه می شه.

8 11 2008
codeprojects

سالار جان ممنونم که قابل دونستی و دیدگاه ارزشمند تو برام پست کردی 🙂

7 06 2010
codeprojects

مهندس جان متاسفانه سورس نرم افزار خواسته شده را ندارم.
نکته : دوست عزیز نوشتن نرم افزاری مانند System Information مانند نوشتن نرم افزار دیتابیس و نرم افزار پروژه دانشجویی نیست که با چند تا تابع بشه سر و تهش رو هم آورد. وقت و انرژی زیادی نیاز داره.

پاسخی بگذارید

در پایین مشخصات خود را پر کنید یا برای ورود روی شمایل‌ها کلیک نمایید:

نشان‌وارهٔ وردپرس.کام

شما در حال بیان دیدگاه با حساب کاربری WordPress.com خود هستید. بیرون رفتن / تغییر دادن )

تصویر توییتر

شما در حال بیان دیدگاه با حساب کاربری Twitter خود هستید. بیرون رفتن / تغییر دادن )

عکس فیسبوک

شما در حال بیان دیدگاه با حساب کاربری Facebook خود هستید. بیرون رفتن / تغییر دادن )

عکس گوگل+

شما در حال بیان دیدگاه با حساب کاربری Google+ خود هستید. بیرون رفتن / تغییر دادن )

درحال اتصال به %s




%d وب‌نوشت‌نویس این را دوست دارند: