Find Jobs
Hire Freelancers

Backup plugin for existing Web site, C#; including FTP 'push' and to Azure Blobs

$30-250 USD

Закрито
Опублікований over 11 years ago

$30-250 USD

Оплачується при отриманні
We're looking for someone to satisfy a very simple interface, IBackup: public interface IBackup { /// /// Backs-up the specified file. /// /// The file. void Backup(string filename); /// /// Marks that the specified file needs to be deleted (or not backed-up if it's not been yet). /// /// The file. void Delete(string filename); /// /// Marks that the specified file has been moved from one location to another /// /// The old file. /// The new file. void Move(string oldFilename, string newFilename); } The filename is a virtual reference to that file, for instance, folder/subfolder/[login to view URL] The requirement is that the implementation will take this request and immediately return in a non-blocking way (the call to this backup doesn't want to wait for the backup process, but just register the backup and move on). Several files might be added to the Web site at once, so your implementation will need to keep a queue of files and then process them in its own thread. We need implementations that: 1. Take a Windows file and copy it to another Windows file location, possibly on a network 2. Take a Windows file and FTP it to a given server 3. Take a Windows file and copy it to Azure blob storage 4. Take an Azure blob and FTP it to a given server 5. Take an Azure blob and copy it to another Azure blob I mention items 3-5 because that's where we want to head, but points 1 and 2 are all we need immediately. I'd recommend setting up a number of implementations of IBackup for each job, and using a constructor to get what you need to make it work. We use Ninject so can inject whatever's needed. For instance: Public class NetworkBackup : IBackup { Public NetworkBackup(IFile fileObject, IDirectory directoryObject, string sourceLocation, string backupLocation) { // IFile is an interface we use which exactly matches [login to view URL]; likewise IDirectory matches [login to view URL] // We use these so we can swap them out when creating the Azure version of this site, which will use blobs instead of the file system // sourceLocation would be the full path to the parent of the site, eg, c:WebsitesSite1Content // backupLocation would be the full path to the base of the backup location, eg, c:BackupsSite1Content } ... implementation ... } Also: public class FtpBackup : IBackup { Public FtpBackup(string host, string username, string password, ... etc ...) { ... } } Then we can pick and choose which implementation we use, and even have a: Public class ComboBackup : IBackup { Public ComboBackup(IList backupSystems) { ... } } Which would let us inject the FTP and network implementations and it would loop through and backup using both simultaneously. The most important bit is the non-blocking asynchronous nature of it. It MUST NOT stop the Web site from responding. If you need to report errors we have a logging system I can give you the interface for too. Nothing, even the interface, is set in stone yet, so if you find you need it to be done differently, please let me know as soon as possible and we'll amend it. The constructors are of course totally open to what you need, so try not to hard-code any requirements. When it comes to FTP an open-source FTP library will be fine to use, particularly if it's available through nuget (our preferred way of getting libraries), but if a commercial library makes life much easier let me know and I'll certainly consider it. This is a "made for hire" project. We will retain copyright and ownership of the solution.
ID проекту: 4172244

Про проект

6 пропозицій(-ї)
Дистанційний проект
Активність 11 yrs ago

Хочете заробити?

Переваги подання заявок на Freelancer

Вкажіть свій бюджет та терміни
Отримайте гроші за свою роботу
Опишіть свою пропозицію
Реєстрація та подання заявок у проекти є безкоштовними
6 фрілансерів(-и) готові виконати цю роботу у середньому за $201 USD
Аватарка користувача
Thanks for considering my bid. Regards
$250 USD за 7 дні(-в)
4,9 (8 відгуки(-ів))
4,3
4,3
Аватарка користувача
Hi,Lets start. Regards TCN
$250 USD за 15 дні(-в)
5,0 (1 відгук)
0,0
0,0
Аватарка користувача
please check my pm
$80 USD за 7 дні(-в)
0,0 (0 відгуки(-ів))
0,0
0,0
Аватарка користувача
We are fastest growing software company in Gujarat, India
$200 USD за 10 дні(-в)
0,0 (0 відгуки(-ів))
0,0
0,0
Аватарка користувача
I am interested for this project. I have read all of your requirement and Im confident that I can all these. I have experience on .NET, C# Programming Though Im new to this site but worked on other lance sites before, so Im consistent with related projects. So you can select me for the project.
$35 USD за 3 дні(-в)
0,0 (1 відгук)
0,0
0,0
Аватарка користувача
We would like to be able to assist you with your project as we have the experience that you are looking for. Thank you
$225 USD за 7 дні(-в)
0,0 (0 відгуки(-ів))
0,0
0,0

Про клієнта

Прапор INDIA
Denver, India
4,8
11
Спосіб оплати верифіковано
На сайті з січ. 26, 2011

Верифікація клієнта

Дякуємо! Ми надіслали на вашу електронну пошту посилання для отримання безкоштовного кредиту.
Під час надсилання електронного листа сталася помилка. Будь ласка, спробуйте ще раз.
Зареєстрованих користувачів Загальна кількість опублікованих робіт
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Завантажуємо для перегляду
Дозвіл на визначення геолокації надано.
Ваш сеанс входу закінчився, і сеанс було закрито. Будь ласка, увійдіть знову.