C# class that constantly polls a remote FTP server

Basic functionality of the FTPGateway class:

A. Maintain open connection to FTP host server

B. Poll frequently to build snapshot of host server's directory tree

C. Detect when folders or their contents have changed since last snapshot.

D. Update data model objects to reflect lastest changes

A. Connection

- HostAddress and Port of FTP host server must be-user configurable. Suggest using Applications Settings file or other .NET standard for configuration.

- Connect to designated FTP host and port. If connection fails, sleep 15 seconds and try again. Loop indefinitely when not connected.

- While connected, perform "snapshot processing" loop (see below) until connection is lost. If connection is lost, return to step A until connection is re-established.

B. Data Snapshots

- A snapshot captures the exact state of a directory tree on the remote FTP host at a moment in time, including it's folders and files, and all of their nested folders and files. Each item is associated with a name and a timestamp when it was last modified.

- After each snapshot is processed, the class will sleep for 5 seconds then request a new snapshot again. (It is expected that most server processing time will be spent constantly fetching and comparing unchanged snapshots. The goal is to respond ASAP when a change does occur. The cost of frequent polling is offset by the benefits of early change detection and response.)

C. Snapshot Processing

- Each data snapshot will be compared to the one that preceded it to determine if anything has changed. This includes:

addition of any sub-folder,

removal of any sub-folder,

addition of any file,

removal of any file, OR

change in modification timestamp for any folder or file.

If none of these data have changed, the snapshot is saved for next comparison and the class loops to sleep 5 seconds then take the next snapshot.

D. Updating the data model

- If any folder or file has been added, deleted, or re-ordered, or if any folder timestamp has changed, find and update the matching Rundown object in the data model

- If any file timestamp has changed, fetch the changed file via FTP, then find and update the matching Story object in the data model.


- The programming will conform to .NET Design Guidelines for Developing Class LIbraries, including naming conventions and error handling.

- Runs in NET 3.5 when built w/ MSVS 2008

- Runs in NET 4.0 when built w/ MSVS 2010

We will provide the two data model objects to be updated, and mapping from the FTP directory items to the data model objects.

Deliverable: C# source code of standalone tested class (to be migrated into our Namespace)

Taidot: .NET, C# -ohjelmointi

Näytä lisää: polling ftp net, polling files ftp server, ftp polling, polling ftp server, poll ftp, poll ftp folder, polling ftp folder, poll ftp server, polling files, polling ftp, directory poll ftp, net polling directory, polling folder, polling class, polling directory, while loop c programming, tree update, tree programming, snapshot design, sleep programming, remote programming, programming tree, programming remote, programming one for all remote, programming naming conventions

Tietoa työnantajasta:
( 0 arvostelua ) United States

Projektin tunnus: #1700237

15 freelanceria on tarjonnut keskimäärin 200 $ tähän työhön


I am an expert in C# and top coder in this site. I can deliver the same asap

250 $ USD 5 päivässä
(65 arvostelua)

Hi, We are excellent .Net,and PHP expertise. Please have a look at private message for relevant work done. Awaiting a positive response from your end and looking forward to work with you. Thanks

250 $ USD 6 päivässä
(31 arvostelua)

Please see PMB.

220 $ USD 5 päivässä
(17 arvostelua)

sir i am an expert .Net, C# programmer(among Top 10% programmers at Odesk with 91% percentile) can view my profile [url removed, login to view]~~26186839692c4731 i have 100% completion rate with 5/5 rating(can vi Lisää

180 $ USD 4 päivässä
(13 arvostelua)

Okay , i can do it , check my message please.

150 $ USD 10 päivässä
(14 arvostelua)

Hi, I have 25 years of software development experience including much working with FTP on both Windows and Linux platforms. I am confident I can realize your requirements to a high standard and in a timely manner. P Lisää

200 $ USD 7 päivässä
(2 arvostelua)

Hi, this is Reakoo, c# guru.

200 $ USD 7 päivässä
(5 arvostelua)

I'm an experienced C# programmer. see your pmb

250 $ USD 2 päivässä
(7 arvostelua)

Interested. Individual developer with extensive experience with .NET based apps.

150 $ USD 3 päivässä
(8 arvostelua)

Hi, I can do it. I have rich experience in Network. Regards.

300 $ USD 10 päivässä
(2 arvostelua)

for more details please check PNB... Thanx.

222 $ USD 15 päivässä
(1 arvostelu)

Hi Do you need a console/windows based application? Please check pmb for more information.

180 $ USD 5 päivässä
(0 arvostelua)

I have already done some work on FTP with C#. I will give you a clean and understandable code. Hope you can trust me.

90 $ USD 6 päivässä
(0 arvostelua)

I've built such in Delphi before. So I have the best experience that you could imagine.

350 $ USD 7 päivässä
(0 arvostelua)

I am an experienced developer with 12 years of practice in computer industry. My last projects are applications written in C#. I have experience with various range of products from small system utilities and services t Lisää

120 $ USD 5 päivässä
(0 arvostelua)

Hi. I have high experience in developing automated networking bots and am able to complete this project.

85 $ USD 3 päivässä
(0 arvostelua)

I can build this class for you. Please see my resume in PM.

250 $ USD 15 päivässä
(0 arvostelua)

Hello, I have been developing desktop applications for over 4 years now on Window platform. My expertise has been in C#, WPF, Silverlight, Sql Server, Entity Framework, Functional and technical designing. I can Lisää

200 $ USD 2 päivässä
(0 arvostelua)