Find Jobs
Hire Freelancers

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

$30-250 USD

Zamknięte
Opublikowano ponad 11 lat temu

$30-250 USD

Płatne przy odbiorze
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.
Identyfikator projektu: 4172244

Informację o projekcie

6 ofert
Zdalny projekt
Aktywny 11 lat temu

Szukasz sposobu na zarobienie pieniędzy?

Korzyści ze składania ofert na Freelancer.com

Ustal budżet i ramy czasowe
Otrzymuj wynagrodzenie za swoją pracę
Przedstaw swoją propozycję
Rejestracja i składanie ofert jest bezpłatne
6 freelancerzy składają oferty o średniej wysokości $201 USD dla tej pracy
Awatar Użytkownika
Thanks for considering my bid. Regards
$250 USD w 7 dni
4,9 (8 opinii)
4,3
4,3
Awatar Użytkownika
Hi,Lets start. Regards TCN
$250 USD w 15 dni
5,0 (1 opinia)
0,0
0,0
Awatar Użytkownika
please check my pm
$80 USD w 7 dni
0,0 (0 opinii)
0,0
0,0
Awatar Użytkownika
We are fastest growing software company in Gujarat, India
$200 USD w 10 dni
0,0 (0 opinii)
0,0
0,0
Awatar Użytkownika
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 w 3 dni
0,0 (1 opinia)
0,0
0,0
Awatar Użytkownika
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 w 7 dni
0,0 (0 opinii)
0,0
0,0

O kliencie

Flaga INDIA
Denver, India
4,8
11
Zweryfikowana metoda płatności
Członek od sty 26, 2011

Weryfikacja Klienta

Dziękujemy! Przesłaliśmy Ci e-mailem link do odebrania darmowego bonusu.
Coś poszło nie tak podczas wysyłania wiadomości e-mail. Proszę spróbować ponownie.
Zarejestrowani Użytkownicy Całkowita Liczba Opublikowanych Projektów
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Wczytywanie podglądu
Udzielono pozwolenia na Geolokalizację.
Twoja sesja logowania wygasła i zostałeś wylogowany. Proszę, zalogować się ponownie.