Raven.Backup.BackupOperation.InitBackup C# (CSharp) Method

InitBackup() public method

public InitBackup ( ) : bool
return bool
		public bool InitBackup()
		{
			ServerUrl = ServerUrl.TrimEnd('/');

			var json = @"{ ""BackupLocation"": """ + BackupPath.Replace("\\", "\\\\") + @""" }";

			var uriString = ServerUrl + "/admin/backup";
			if (Incremental)
				uriString += "?incremental=true";
			var req = WebRequest.Create(uriString);
			req.Method = "POST";
			req.UseDefaultCredentials = true;
			req.PreAuthenticate = true;
			req.Credentials = CredentialCache.DefaultCredentials;

			using (var streamWriter = new StreamWriter(req.GetRequestStream()))
			{
				streamWriter.WriteLine(json);
				streamWriter.Flush();
			}

			try
			{
				Console.WriteLine("Sending json {0} to {1}", json, ServerUrl);

				using (var resp = req.GetResponse())
				using (var reader = new StreamReader(resp.GetResponseStream()))
				{
					var response = reader.ReadToEnd();
					Console.WriteLine(response);
				}
			}
			catch (WebException we)
			{
				var response = we.Response as HttpWebResponse;
				if(response == null)
				{
					Console.WriteLine(we.Message);
					return false;
				}
				Console.WriteLine(response.StatusCode + " " + response.StatusDescription);
				using(var reader = new StreamReader(response.GetResponseStream()))
				{
					Console.WriteLine(reader.ReadToEnd());
					return false;
				}
			}
			catch (Exception exc)
			{
				Console.WriteLine(exc.Message);
				return false;
			}

			return true;
		}

Usage Example

Esempio n. 1
0
		public void Backup_and_restore_of_system_database_should_work()
		{
			using (var ravenServer = GetNewServer(runInMemory: false,requestedStorage:"esent"))
			using (var _ = NewRemoteDocumentStore(ravenDbServer: ravenServer, databaseName: "fooDB", runInMemory: false))
			{
			    using (var systemDatabaseBackupOperation = new BackupOperation
			                                            {
			                                                BackupPath = BackupDir,
			                                                Database = Constants.SystemDatabase,
			                                                ServerUrl = ravenServer.SystemDatabase.Configuration.ServerUrl
			                                            })
			    {

			        Assert.True(systemDatabaseBackupOperation.InitBackup());
			        WaitForBackup(ravenServer.SystemDatabase, true);
			    }
			}

			Assert.DoesNotThrow(() => MaintenanceActions.Restore(new RavenConfiguration(), new RestoreRequest
			{
			    BackupLocation = BackupDir,
                DatabaseLocation = DataDir
			}, s => { }));

		}
All Usage Examples Of Raven.Backup.BackupOperation::InitBackup