Рейтинг:
2
Ashwin. Shetty
Любая конкретная причина, по которой вы пытаетесь достичь этого с помощью WCF. Насколько я понимаю, это может быть достигнуто с помощью Windows EXE или службы Windows. Вы можете использовать filesystemwatcher и ждать события. На конкретном событии проверьте размер и запустите свое правило. Для справки вы можете проверить Класса filesystemwatcher.Измененное Событие (System.IO)[^]
vinodh muthusamy
Рабочая ям в веб-приложения на основе.
Ссылка,которой вы поделились,касается создания, изменения, удаления. Но мне нужно следить за размером папки.
Ashwin. Shetty
Веб-базовое приложение может проверять размер только по запросу на сервер. если вы попытаетесь запустить его в фоновом режиме, он не будет надежным. IIS также может тайм-аут и остановить поток выполнения. Если бы я был на вашем месте, я бы разместил службу WCF внутри службы Windows (Self-hosted) и выставил WCF API, который будет принимать два параметра ( папка для мониторинга и идентификатор электронной почты для оповещения). Контролируйте папку, которая была получена в отдельном потоке,и предупреждайте пользователя на основе порога. Эта служба WCF будет вызываться внутренне с моего веб-сайта.
Вы правы ссылка, которой я поделился, предназначена для создания, изменения и удаления файла. Разве это не изменит размер вашей папки ??
vinodh muthusamy
Предложение, которое вы мне дали, в точности соответствует моему требованию. Не могли бы вы предоставить какой-нибудь пример кода или ссылку для просмотра.
Ashwin. Shetty
Будет трудно указать вам полный код, но вы можете поискать WCF self hosting. После проверки из конечной точки службы WCF возникает событие, которое регистрируется службой windows внутренне. Зарегистрируйте метод к этому событию, которое создаст новый поток и прикрепит функцию, которая может выполнять вышеуказанную задачу
Рейтинг:
0
Prafulla Hunde
Как было предложено в решении 1, Вы можете попробовать FileSystemWatcher. Однако в некоторых случаях этот класс ненадежен,и вы можете пропустить события,и его поведение не согласовано во всех поддерживаемых операционных системах(XP, Win7, Win10 и т. д.). Кроме того, он может запускать несколько событий изменения для одной операции сохранения в одном файле. В нашем случае мы закончили тем, что использовали таймер, который периодически сканирует папку на наличие каких-либо изменений. Я не могу сказать, что это лучший подход, но, по крайней мере, он был более надежным и последовательным, чем FileSystemWatcher. Может быть, вы можете объединить оба этих варианта, чтобы наилучшим образом удовлетворить ваши потребности. Удача :-).