Renormalize
This commit is contained in:
@@ -1,54 +1,54 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Umbraco.Core.Services;
|
||||
|
||||
namespace Umbraco.Core.Sync
|
||||
{
|
||||
/// <summary>
|
||||
/// A registrar that stores registered server nodes in the database.
|
||||
/// </summary>
|
||||
public sealed class DatabaseServerRegistrar : IServerRegistrar
|
||||
{
|
||||
private readonly Lazy<IServerRegistrationService> _registrationService;
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the registrar options.
|
||||
/// </summary>
|
||||
public DatabaseServerRegistrarOptions Options { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="DatabaseServerRegistrar"/> class.
|
||||
/// </summary>
|
||||
/// <param name="registrationService">The registration service.</param>
|
||||
/// <param name="options">Some options.</param>
|
||||
public DatabaseServerRegistrar(Lazy<IServerRegistrationService> registrationService, DatabaseServerRegistrarOptions options)
|
||||
{
|
||||
Options = options ?? throw new ArgumentNullException(nameof(options));
|
||||
_registrationService = registrationService ?? throw new ArgumentNullException(nameof(registrationService));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the registered servers.
|
||||
/// </summary>
|
||||
public IEnumerable<IServerAddress> Registrations => _registrationService.Value.GetActiveServers();
|
||||
|
||||
/// <summary>
|
||||
/// Gets the role of the current server in the application environment.
|
||||
/// </summary>
|
||||
public ServerRole GetCurrentServerRole()
|
||||
{
|
||||
var service = _registrationService.Value;
|
||||
return service.GetCurrentServerRole();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the current umbraco application url.
|
||||
/// </summary>
|
||||
public string GetCurrentServerUmbracoApplicationUrl()
|
||||
{
|
||||
// this registrar does not provide the umbraco application url
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Umbraco.Core.Services;
|
||||
|
||||
namespace Umbraco.Core.Sync
|
||||
{
|
||||
/// <summary>
|
||||
/// A registrar that stores registered server nodes in the database.
|
||||
/// </summary>
|
||||
public sealed class DatabaseServerRegistrar : IServerRegistrar
|
||||
{
|
||||
private readonly Lazy<IServerRegistrationService> _registrationService;
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the registrar options.
|
||||
/// </summary>
|
||||
public DatabaseServerRegistrarOptions Options { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="DatabaseServerRegistrar"/> class.
|
||||
/// </summary>
|
||||
/// <param name="registrationService">The registration service.</param>
|
||||
/// <param name="options">Some options.</param>
|
||||
public DatabaseServerRegistrar(Lazy<IServerRegistrationService> registrationService, DatabaseServerRegistrarOptions options)
|
||||
{
|
||||
Options = options ?? throw new ArgumentNullException(nameof(options));
|
||||
_registrationService = registrationService ?? throw new ArgumentNullException(nameof(registrationService));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the registered servers.
|
||||
/// </summary>
|
||||
public IEnumerable<IServerAddress> Registrations => _registrationService.Value.GetActiveServers();
|
||||
|
||||
/// <summary>
|
||||
/// Gets the role of the current server in the application environment.
|
||||
/// </summary>
|
||||
public ServerRole GetCurrentServerRole()
|
||||
{
|
||||
var service = _registrationService.Value;
|
||||
return service.GetCurrentServerRole();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the current umbraco application url.
|
||||
/// </summary>
|
||||
public string GetCurrentServerUmbracoApplicationUrl()
|
||||
{
|
||||
// this registrar does not provide the umbraco application url
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
namespace Umbraco.Core.Sync
|
||||
{
|
||||
/// <summary>
|
||||
/// Provides the address of a server.
|
||||
/// </summary>
|
||||
public interface IServerAddress
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets the server address.
|
||||
/// </summary>
|
||||
string ServerAddress { get; }
|
||||
|
||||
//TODO : Should probably add things like port, protocol, server name, app id
|
||||
}
|
||||
}
|
||||
namespace Umbraco.Core.Sync
|
||||
{
|
||||
/// <summary>
|
||||
/// Provides the address of a server.
|
||||
/// </summary>
|
||||
public interface IServerAddress
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets the server address.
|
||||
/// </summary>
|
||||
string ServerAddress { get; }
|
||||
|
||||
//TODO : Should probably add things like port, protocol, server name, app id
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,81 +1,81 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Umbraco.Core.Cache;
|
||||
|
||||
namespace Umbraco.Core.Sync
|
||||
{
|
||||
/// <summary>
|
||||
/// Broadcasts distributed cache notifications to all servers of a load balanced environment.
|
||||
/// </summary>
|
||||
/// <remarks>Also ensures that the notification is processed on the local environment.</remarks>
|
||||
public interface IServerMessenger
|
||||
{
|
||||
/// <summary>
|
||||
/// Notifies the distributed cache, for a specified <see cref="ICacheRefresher"/>.
|
||||
/// </summary>
|
||||
/// <param name="refresher">The ICacheRefresher.</param>
|
||||
/// <param name="payload">The notification content.</param>
|
||||
void PerformRefresh<TPayload>(ICacheRefresher refresher, TPayload[] payload);
|
||||
|
||||
/// <summary>
|
||||
/// Notifies the distributed cache, for a specified <see cref="ICacheRefresher"/>.
|
||||
/// </summary>
|
||||
/// <param name="refresher">The ICacheRefresher.</param>
|
||||
/// <param name="jsonPayload">The notification content.</param>
|
||||
void PerformRefresh(ICacheRefresher refresher, string jsonPayload);
|
||||
|
||||
/// <summary>
|
||||
/// Notifies the distributed cache of specifieds item invalidation, for a specified <see cref="ICacheRefresher"/>.
|
||||
/// </summary>
|
||||
/// <typeparam name="T">The type of the invalidated items.</typeparam>
|
||||
/// <param name="refresher">The ICacheRefresher.</param>
|
||||
/// <param name="getNumericId">A function returning the unique identifier of items.</param>
|
||||
/// <param name="instances">The invalidated items.</param>
|
||||
void PerformRefresh<T>(ICacheRefresher refresher, Func<T, int> getNumericId, params T[] instances);
|
||||
|
||||
/// <summary>
|
||||
/// Notifies the distributed cache of specifieds item invalidation, for a specified <see cref="ICacheRefresher"/>.
|
||||
/// </summary>
|
||||
/// <typeparam name="T">The type of the invalidated items.</typeparam>
|
||||
/// <param name="refresher">The ICacheRefresher.</param>
|
||||
/// <param name="getGuidId">A function returning the unique identifier of items.</param>
|
||||
/// <param name="instances">The invalidated items.</param>
|
||||
void PerformRefresh<T>(ICacheRefresher refresher, Func<T, Guid> getGuidId, params T[] instances);
|
||||
|
||||
/// <summary>
|
||||
/// Notifies all servers of specified items removal, for a specified <see cref="ICacheRefresher"/>.
|
||||
/// </summary>
|
||||
/// <typeparam name="T">The type of the removed items.</typeparam>
|
||||
/// <param name="refresher">The ICacheRefresher.</param>
|
||||
/// <param name="getNumericId">A function returning the unique identifier of items.</param>
|
||||
/// <param name="instances">The removed items.</param>
|
||||
void PerformRemove<T>(ICacheRefresher refresher, Func<T, int> getNumericId, params T[] instances);
|
||||
|
||||
/// <summary>
|
||||
/// Notifies all servers of specified items removal, for a specified <see cref="ICacheRefresher"/>.
|
||||
/// </summary>
|
||||
/// <param name="refresher">The ICacheRefresher.</param>
|
||||
/// <param name="numericIds">The unique identifiers of the removed items.</param>
|
||||
void PerformRemove(ICacheRefresher refresher, params int[] numericIds);
|
||||
|
||||
/// <summary>
|
||||
/// Notifies all servers of specified items invalidation, for a specified <see cref="ICacheRefresher"/>.
|
||||
/// </summary>
|
||||
/// <param name="refresher">The ICacheRefresher.</param>
|
||||
/// <param name="numericIds">The unique identifiers of the invalidated items.</param>
|
||||
void PerformRefresh(ICacheRefresher refresher, params int[] numericIds);
|
||||
|
||||
/// <summary>
|
||||
/// Notifies all servers of specified items invalidation, for a specified <see cref="ICacheRefresher"/>.
|
||||
/// </summary>
|
||||
/// <param name="refresher">The ICacheRefresher.</param>
|
||||
/// <param name="guidIds">The unique identifiers of the invalidated items.</param>
|
||||
void PerformRefresh(ICacheRefresher refresher, params Guid[] guidIds);
|
||||
|
||||
/// <summary>
|
||||
/// Notifies all servers of a global invalidation for a specified <see cref="ICacheRefresher"/>.
|
||||
/// </summary>
|
||||
/// <param name="refresher">The ICacheRefresher.</param>
|
||||
void PerformRefreshAll(ICacheRefresher refresher);
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Umbraco.Core.Cache;
|
||||
|
||||
namespace Umbraco.Core.Sync
|
||||
{
|
||||
/// <summary>
|
||||
/// Broadcasts distributed cache notifications to all servers of a load balanced environment.
|
||||
/// </summary>
|
||||
/// <remarks>Also ensures that the notification is processed on the local environment.</remarks>
|
||||
public interface IServerMessenger
|
||||
{
|
||||
/// <summary>
|
||||
/// Notifies the distributed cache, for a specified <see cref="ICacheRefresher"/>.
|
||||
/// </summary>
|
||||
/// <param name="refresher">The ICacheRefresher.</param>
|
||||
/// <param name="payload">The notification content.</param>
|
||||
void PerformRefresh<TPayload>(ICacheRefresher refresher, TPayload[] payload);
|
||||
|
||||
/// <summary>
|
||||
/// Notifies the distributed cache, for a specified <see cref="ICacheRefresher"/>.
|
||||
/// </summary>
|
||||
/// <param name="refresher">The ICacheRefresher.</param>
|
||||
/// <param name="jsonPayload">The notification content.</param>
|
||||
void PerformRefresh(ICacheRefresher refresher, string jsonPayload);
|
||||
|
||||
/// <summary>
|
||||
/// Notifies the distributed cache of specifieds item invalidation, for a specified <see cref="ICacheRefresher"/>.
|
||||
/// </summary>
|
||||
/// <typeparam name="T">The type of the invalidated items.</typeparam>
|
||||
/// <param name="refresher">The ICacheRefresher.</param>
|
||||
/// <param name="getNumericId">A function returning the unique identifier of items.</param>
|
||||
/// <param name="instances">The invalidated items.</param>
|
||||
void PerformRefresh<T>(ICacheRefresher refresher, Func<T, int> getNumericId, params T[] instances);
|
||||
|
||||
/// <summary>
|
||||
/// Notifies the distributed cache of specifieds item invalidation, for a specified <see cref="ICacheRefresher"/>.
|
||||
/// </summary>
|
||||
/// <typeparam name="T">The type of the invalidated items.</typeparam>
|
||||
/// <param name="refresher">The ICacheRefresher.</param>
|
||||
/// <param name="getGuidId">A function returning the unique identifier of items.</param>
|
||||
/// <param name="instances">The invalidated items.</param>
|
||||
void PerformRefresh<T>(ICacheRefresher refresher, Func<T, Guid> getGuidId, params T[] instances);
|
||||
|
||||
/// <summary>
|
||||
/// Notifies all servers of specified items removal, for a specified <see cref="ICacheRefresher"/>.
|
||||
/// </summary>
|
||||
/// <typeparam name="T">The type of the removed items.</typeparam>
|
||||
/// <param name="refresher">The ICacheRefresher.</param>
|
||||
/// <param name="getNumericId">A function returning the unique identifier of items.</param>
|
||||
/// <param name="instances">The removed items.</param>
|
||||
void PerformRemove<T>(ICacheRefresher refresher, Func<T, int> getNumericId, params T[] instances);
|
||||
|
||||
/// <summary>
|
||||
/// Notifies all servers of specified items removal, for a specified <see cref="ICacheRefresher"/>.
|
||||
/// </summary>
|
||||
/// <param name="refresher">The ICacheRefresher.</param>
|
||||
/// <param name="numericIds">The unique identifiers of the removed items.</param>
|
||||
void PerformRemove(ICacheRefresher refresher, params int[] numericIds);
|
||||
|
||||
/// <summary>
|
||||
/// Notifies all servers of specified items invalidation, for a specified <see cref="ICacheRefresher"/>.
|
||||
/// </summary>
|
||||
/// <param name="refresher">The ICacheRefresher.</param>
|
||||
/// <param name="numericIds">The unique identifiers of the invalidated items.</param>
|
||||
void PerformRefresh(ICacheRefresher refresher, params int[] numericIds);
|
||||
|
||||
/// <summary>
|
||||
/// Notifies all servers of specified items invalidation, for a specified <see cref="ICacheRefresher"/>.
|
||||
/// </summary>
|
||||
/// <param name="refresher">The ICacheRefresher.</param>
|
||||
/// <param name="guidIds">The unique identifiers of the invalidated items.</param>
|
||||
void PerformRefresh(ICacheRefresher refresher, params Guid[] guidIds);
|
||||
|
||||
/// <summary>
|
||||
/// Notifies all servers of a global invalidation for a specified <see cref="ICacheRefresher"/>.
|
||||
/// </summary>
|
||||
/// <param name="refresher">The ICacheRefresher.</param>
|
||||
void PerformRefreshAll(ICacheRefresher refresher);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,29 +1,29 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Umbraco.Core.Sync
|
||||
{
|
||||
/// <summary>
|
||||
/// Provides server registrations to the distributed cache.
|
||||
/// </summary>
|
||||
public interface IServerRegistrar
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets the server registrations.
|
||||
/// </summary>
|
||||
IEnumerable<IServerAddress> Registrations { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the role of the current server in the application environment.
|
||||
/// </summary>
|
||||
ServerRole GetCurrentServerRole();
|
||||
|
||||
/// <summary>
|
||||
/// Gets the current umbraco application url.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// <para>If the registrar does not provide the umbraco application url, should return null.</para>
|
||||
/// <para>Must return null, or a url that ends with SystemDirectories.Umbraco, and contains a scheme, eg "http://www.mysite.com/umbraco".</para>
|
||||
/// </remarks>
|
||||
string GetCurrentServerUmbracoApplicationUrl();
|
||||
}
|
||||
}
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Umbraco.Core.Sync
|
||||
{
|
||||
/// <summary>
|
||||
/// Provides server registrations to the distributed cache.
|
||||
/// </summary>
|
||||
public interface IServerRegistrar
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets the server registrations.
|
||||
/// </summary>
|
||||
IEnumerable<IServerAddress> Registrations { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the role of the current server in the application environment.
|
||||
/// </summary>
|
||||
ServerRole GetCurrentServerRole();
|
||||
|
||||
/// <summary>
|
||||
/// Gets the current umbraco application url.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// <para>If the registrar does not provide the umbraco application url, should return null.</para>
|
||||
/// <para>Must return null, or a url that ends with SystemDirectories.Umbraco, and contains a scheme, eg "http://www.mysite.com/umbraco".</para>
|
||||
/// </remarks>
|
||||
string GetCurrentServerUmbracoApplicationUrl();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
namespace Umbraco.Core.Sync
|
||||
{
|
||||
/// <summary>
|
||||
/// The message type to be used for syncing across servers.
|
||||
/// </summary>
|
||||
public enum MessageType
|
||||
{
|
||||
RefreshAll,
|
||||
RefreshById,
|
||||
RefreshByJson,
|
||||
RemoveById,
|
||||
RefreshByInstance,
|
||||
RemoveByInstance,
|
||||
RefreshByPayload
|
||||
}
|
||||
}
|
||||
namespace Umbraco.Core.Sync
|
||||
{
|
||||
/// <summary>
|
||||
/// The message type to be used for syncing across servers.
|
||||
/// </summary>
|
||||
public enum MessageType
|
||||
{
|
||||
RefreshAll,
|
||||
RefreshById,
|
||||
RefreshByJson,
|
||||
RemoveById,
|
||||
RefreshByInstance,
|
||||
RemoveByInstance,
|
||||
RefreshByPayload
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,246 +1,246 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Web.Services;
|
||||
using Umbraco.Core.IO;
|
||||
|
||||
namespace Umbraco.Core.Sync
|
||||
{
|
||||
/// <summary>
|
||||
/// The client Soap service for making distrubuted cache calls between servers
|
||||
/// </summary>
|
||||
[WebServiceBinding(Name = "CacheRefresherSoap", Namespace = "http://umbraco.org/webservices/")]
|
||||
internal class ServerSyncWebServiceClient : System.Web.Services.Protocols.SoapHttpClientProtocol
|
||||
{
|
||||
|
||||
/// <remarks/>
|
||||
public ServerSyncWebServiceClient()
|
||||
{
|
||||
// only set the url if the httpcontext is present, else it's set by the cache dispatcher methods (when using distributed calls)
|
||||
if (System.Web.HttpContext.Current != null)
|
||||
this.Url = "http://" + System.Web.HttpContext.Current.Request.ServerVariables["SERVER_NAME"] + IOHelper.ResolveUrl(SystemDirectories.WebServices) + "/cacheRefresher.asmx";
|
||||
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://umbraco.org/webservices/BulkRefresh", RequestNamespace = "http://umbraco.org/webservices/", ResponseNamespace = "http://umbraco.org/webservices/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||
public void BulkRefresh(RefreshInstruction[] instructions, string appId, string login, string password)
|
||||
{
|
||||
this.Invoke("BulkRefresh", new object[] {
|
||||
instructions,
|
||||
appId,
|
||||
login,
|
||||
password});
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public System.IAsyncResult BeginBulkRefresh(RefreshInstruction[] instructions, string appId, string login, string password, System.AsyncCallback callback, object asyncState)
|
||||
{
|
||||
return this.BeginInvoke("BulkRefresh", new object[] {
|
||||
instructions,
|
||||
appId,
|
||||
login,
|
||||
password}, callback, asyncState);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void EndBulkRefresh(System.IAsyncResult asyncResult)
|
||||
{
|
||||
this.EndInvoke(asyncResult);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://umbraco.org/webservices/RefreshAll", RequestNamespace = "http://umbraco.org/webservices/", ResponseNamespace = "http://umbraco.org/webservices/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||
public void RefreshAll(System.Guid uniqueIdentifier, string Login, string Password)
|
||||
{
|
||||
this.Invoke("RefreshAll", new object[] {
|
||||
uniqueIdentifier,
|
||||
Login,
|
||||
Password});
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public System.IAsyncResult BeginRefreshAll(System.Guid uniqueIdentifier, string Login, string Password, System.AsyncCallback callback, object asyncState)
|
||||
{
|
||||
return this.BeginInvoke("RefreshAll", new object[] {
|
||||
uniqueIdentifier,
|
||||
Login,
|
||||
Password}, callback, asyncState);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void EndRefreshAll(System.IAsyncResult asyncResult)
|
||||
{
|
||||
this.EndInvoke(asyncResult);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://umbraco.org/webservices/RefreshByJson", RequestNamespace = "http://umbraco.org/webservices/", ResponseNamespace = "http://umbraco.org/webservices/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||
public void RefreshByJson(System.Guid uniqueIdentifier, string jsonPayload, string Login, string Password)
|
||||
{
|
||||
this.Invoke("RefreshByJson", new object[] {
|
||||
uniqueIdentifier,
|
||||
jsonPayload,
|
||||
Login,
|
||||
Password});
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public System.IAsyncResult BeginRefreshByJson(System.Guid uniqueIdentifier, string jsonPayload, string Login, string Password, System.AsyncCallback callback, object asyncState)
|
||||
{
|
||||
return this.BeginInvoke("RefreshByJson", new object[] {
|
||||
uniqueIdentifier,
|
||||
jsonPayload,
|
||||
Login,
|
||||
Password}, callback, asyncState);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void EndRefreshByJson(System.IAsyncResult asyncResult)
|
||||
{
|
||||
this.EndInvoke(asyncResult);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://umbraco.org/webservices/RefreshByGuid", RequestNamespace = "http://umbraco.org/webservices/", ResponseNamespace = "http://umbraco.org/webservices/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||
public void RefreshByGuid(System.Guid uniqueIdentifier, System.Guid Id, string Login, string Password)
|
||||
{
|
||||
this.Invoke("RefreshByGuid", new object[] {
|
||||
uniqueIdentifier,
|
||||
Id,
|
||||
Login,
|
||||
Password});
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public System.IAsyncResult BeginRefreshByGuid(System.Guid uniqueIdentifier, System.Guid Id, string Login, string Password, System.AsyncCallback callback, object asyncState)
|
||||
{
|
||||
return this.BeginInvoke("RefreshByGuid", new object[] {
|
||||
uniqueIdentifier,
|
||||
Id,
|
||||
Login,
|
||||
Password}, callback, asyncState);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void EndRefreshByGuid(System.IAsyncResult asyncResult)
|
||||
{
|
||||
this.EndInvoke(asyncResult);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://umbraco.org/webservices/RefreshById",
|
||||
RequestNamespace = "http://umbraco.org/webservices/",
|
||||
ResponseNamespace = "http://umbraco.org/webservices/",
|
||||
Use = System.Web.Services.Description.SoapBindingUse.Literal,
|
||||
ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||
public void RefreshById(System.Guid uniqueIdentifier, int Id, string Login, string Password)
|
||||
{
|
||||
this.Invoke("RefreshById", new object[] {
|
||||
uniqueIdentifier,
|
||||
Id,
|
||||
Login,
|
||||
Password});
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public System.IAsyncResult BeginRefreshById(System.Guid uniqueIdentifier, int Id, string Login, string Password, System.AsyncCallback callback, object asyncState)
|
||||
{
|
||||
return this.BeginInvoke("RefreshById", new object[] {
|
||||
uniqueIdentifier,
|
||||
Id,
|
||||
Login,
|
||||
Password}, callback, asyncState);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void EndRefreshById(System.IAsyncResult asyncResult)
|
||||
{
|
||||
this.EndInvoke(asyncResult);
|
||||
}
|
||||
|
||||
|
||||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://umbraco.org/webservices/RefreshByIds",
|
||||
RequestNamespace = "http://umbraco.org/webservices/",
|
||||
ResponseNamespace = "http://umbraco.org/webservices/",
|
||||
Use = System.Web.Services.Description.SoapBindingUse.Literal,
|
||||
ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||
public void RefreshByIds(System.Guid uniqueIdentifier, string jsonIds, string Login, string Password)
|
||||
{
|
||||
this.Invoke("RefreshByIds", new object[] {
|
||||
uniqueIdentifier,
|
||||
jsonIds,
|
||||
Login,
|
||||
Password});
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public System.IAsyncResult BeginRefreshByIds(System.Guid uniqueIdentifier, string jsonIds, string Login, string Password, System.AsyncCallback callback, object asyncState)
|
||||
{
|
||||
return this.BeginInvoke("RefreshByIds", new object[] {
|
||||
uniqueIdentifier,
|
||||
jsonIds,
|
||||
Login,
|
||||
Password}, callback, asyncState);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void EndRefreshByIds(System.IAsyncResult asyncResult)
|
||||
{
|
||||
this.EndInvoke(asyncResult);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://umbraco.org/webservices/RemoveById", RequestNamespace = "http://umbraco.org/webservices/", ResponseNamespace = "http://umbraco.org/webservices/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||
public void RemoveById(System.Guid uniqueIdentifier, int Id, string Login, string Password)
|
||||
{
|
||||
this.Invoke("RemoveById", new object[] {
|
||||
uniqueIdentifier,
|
||||
Id,
|
||||
Login,
|
||||
Password});
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public System.IAsyncResult BeginRemoveById(System.Guid uniqueIdentifier, int Id, string Login, string Password, System.AsyncCallback callback, object asyncState)
|
||||
{
|
||||
return this.BeginInvoke("RemoveById", new object[] {
|
||||
uniqueIdentifier,
|
||||
Id,
|
||||
Login,
|
||||
Password}, callback, asyncState);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void EndRemoveById(System.IAsyncResult asyncResult)
|
||||
{
|
||||
this.EndInvoke(asyncResult);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://umbraco.org/webservices/GetRefreshers", RequestNamespace = "http://umbraco.org/webservices/", ResponseNamespace = "http://umbraco.org/webservices/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||
public System.Xml.XmlNode GetRefreshers(string Login, string Password)
|
||||
{
|
||||
object[] results = this.Invoke("GetRefreshers", new object[] {
|
||||
Login,
|
||||
Password});
|
||||
return ((System.Xml.XmlNode)(results[0]));
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public System.IAsyncResult BeginGetRefreshers(string Login, string Password, System.AsyncCallback callback, object asyncState)
|
||||
{
|
||||
return this.BeginInvoke("GetRefreshers", new object[] {
|
||||
Login,
|
||||
Password}, callback, asyncState);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public System.Xml.XmlNode EndGetRefreshers(System.IAsyncResult asyncResult)
|
||||
{
|
||||
object[] results = this.EndInvoke(asyncResult);
|
||||
return ((System.Xml.XmlNode)(results[0]));
|
||||
}
|
||||
}
|
||||
}
|
||||
using System.Collections.Generic;
|
||||
using System.Web.Services;
|
||||
using Umbraco.Core.IO;
|
||||
|
||||
namespace Umbraco.Core.Sync
|
||||
{
|
||||
/// <summary>
|
||||
/// The client Soap service for making distrubuted cache calls between servers
|
||||
/// </summary>
|
||||
[WebServiceBinding(Name = "CacheRefresherSoap", Namespace = "http://umbraco.org/webservices/")]
|
||||
internal class ServerSyncWebServiceClient : System.Web.Services.Protocols.SoapHttpClientProtocol
|
||||
{
|
||||
|
||||
/// <remarks/>
|
||||
public ServerSyncWebServiceClient()
|
||||
{
|
||||
// only set the url if the httpcontext is present, else it's set by the cache dispatcher methods (when using distributed calls)
|
||||
if (System.Web.HttpContext.Current != null)
|
||||
this.Url = "http://" + System.Web.HttpContext.Current.Request.ServerVariables["SERVER_NAME"] + IOHelper.ResolveUrl(SystemDirectories.WebServices) + "/cacheRefresher.asmx";
|
||||
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://umbraco.org/webservices/BulkRefresh", RequestNamespace = "http://umbraco.org/webservices/", ResponseNamespace = "http://umbraco.org/webservices/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||
public void BulkRefresh(RefreshInstruction[] instructions, string appId, string login, string password)
|
||||
{
|
||||
this.Invoke("BulkRefresh", new object[] {
|
||||
instructions,
|
||||
appId,
|
||||
login,
|
||||
password});
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public System.IAsyncResult BeginBulkRefresh(RefreshInstruction[] instructions, string appId, string login, string password, System.AsyncCallback callback, object asyncState)
|
||||
{
|
||||
return this.BeginInvoke("BulkRefresh", new object[] {
|
||||
instructions,
|
||||
appId,
|
||||
login,
|
||||
password}, callback, asyncState);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void EndBulkRefresh(System.IAsyncResult asyncResult)
|
||||
{
|
||||
this.EndInvoke(asyncResult);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://umbraco.org/webservices/RefreshAll", RequestNamespace = "http://umbraco.org/webservices/", ResponseNamespace = "http://umbraco.org/webservices/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||
public void RefreshAll(System.Guid uniqueIdentifier, string Login, string Password)
|
||||
{
|
||||
this.Invoke("RefreshAll", new object[] {
|
||||
uniqueIdentifier,
|
||||
Login,
|
||||
Password});
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public System.IAsyncResult BeginRefreshAll(System.Guid uniqueIdentifier, string Login, string Password, System.AsyncCallback callback, object asyncState)
|
||||
{
|
||||
return this.BeginInvoke("RefreshAll", new object[] {
|
||||
uniqueIdentifier,
|
||||
Login,
|
||||
Password}, callback, asyncState);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void EndRefreshAll(System.IAsyncResult asyncResult)
|
||||
{
|
||||
this.EndInvoke(asyncResult);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://umbraco.org/webservices/RefreshByJson", RequestNamespace = "http://umbraco.org/webservices/", ResponseNamespace = "http://umbraco.org/webservices/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||
public void RefreshByJson(System.Guid uniqueIdentifier, string jsonPayload, string Login, string Password)
|
||||
{
|
||||
this.Invoke("RefreshByJson", new object[] {
|
||||
uniqueIdentifier,
|
||||
jsonPayload,
|
||||
Login,
|
||||
Password});
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public System.IAsyncResult BeginRefreshByJson(System.Guid uniqueIdentifier, string jsonPayload, string Login, string Password, System.AsyncCallback callback, object asyncState)
|
||||
{
|
||||
return this.BeginInvoke("RefreshByJson", new object[] {
|
||||
uniqueIdentifier,
|
||||
jsonPayload,
|
||||
Login,
|
||||
Password}, callback, asyncState);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void EndRefreshByJson(System.IAsyncResult asyncResult)
|
||||
{
|
||||
this.EndInvoke(asyncResult);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://umbraco.org/webservices/RefreshByGuid", RequestNamespace = "http://umbraco.org/webservices/", ResponseNamespace = "http://umbraco.org/webservices/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||
public void RefreshByGuid(System.Guid uniqueIdentifier, System.Guid Id, string Login, string Password)
|
||||
{
|
||||
this.Invoke("RefreshByGuid", new object[] {
|
||||
uniqueIdentifier,
|
||||
Id,
|
||||
Login,
|
||||
Password});
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public System.IAsyncResult BeginRefreshByGuid(System.Guid uniqueIdentifier, System.Guid Id, string Login, string Password, System.AsyncCallback callback, object asyncState)
|
||||
{
|
||||
return this.BeginInvoke("RefreshByGuid", new object[] {
|
||||
uniqueIdentifier,
|
||||
Id,
|
||||
Login,
|
||||
Password}, callback, asyncState);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void EndRefreshByGuid(System.IAsyncResult asyncResult)
|
||||
{
|
||||
this.EndInvoke(asyncResult);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://umbraco.org/webservices/RefreshById",
|
||||
RequestNamespace = "http://umbraco.org/webservices/",
|
||||
ResponseNamespace = "http://umbraco.org/webservices/",
|
||||
Use = System.Web.Services.Description.SoapBindingUse.Literal,
|
||||
ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||
public void RefreshById(System.Guid uniqueIdentifier, int Id, string Login, string Password)
|
||||
{
|
||||
this.Invoke("RefreshById", new object[] {
|
||||
uniqueIdentifier,
|
||||
Id,
|
||||
Login,
|
||||
Password});
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public System.IAsyncResult BeginRefreshById(System.Guid uniqueIdentifier, int Id, string Login, string Password, System.AsyncCallback callback, object asyncState)
|
||||
{
|
||||
return this.BeginInvoke("RefreshById", new object[] {
|
||||
uniqueIdentifier,
|
||||
Id,
|
||||
Login,
|
||||
Password}, callback, asyncState);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void EndRefreshById(System.IAsyncResult asyncResult)
|
||||
{
|
||||
this.EndInvoke(asyncResult);
|
||||
}
|
||||
|
||||
|
||||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://umbraco.org/webservices/RefreshByIds",
|
||||
RequestNamespace = "http://umbraco.org/webservices/",
|
||||
ResponseNamespace = "http://umbraco.org/webservices/",
|
||||
Use = System.Web.Services.Description.SoapBindingUse.Literal,
|
||||
ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||
public void RefreshByIds(System.Guid uniqueIdentifier, string jsonIds, string Login, string Password)
|
||||
{
|
||||
this.Invoke("RefreshByIds", new object[] {
|
||||
uniqueIdentifier,
|
||||
jsonIds,
|
||||
Login,
|
||||
Password});
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public System.IAsyncResult BeginRefreshByIds(System.Guid uniqueIdentifier, string jsonIds, string Login, string Password, System.AsyncCallback callback, object asyncState)
|
||||
{
|
||||
return this.BeginInvoke("RefreshByIds", new object[] {
|
||||
uniqueIdentifier,
|
||||
jsonIds,
|
||||
Login,
|
||||
Password}, callback, asyncState);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void EndRefreshByIds(System.IAsyncResult asyncResult)
|
||||
{
|
||||
this.EndInvoke(asyncResult);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://umbraco.org/webservices/RemoveById", RequestNamespace = "http://umbraco.org/webservices/", ResponseNamespace = "http://umbraco.org/webservices/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||
public void RemoveById(System.Guid uniqueIdentifier, int Id, string Login, string Password)
|
||||
{
|
||||
this.Invoke("RemoveById", new object[] {
|
||||
uniqueIdentifier,
|
||||
Id,
|
||||
Login,
|
||||
Password});
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public System.IAsyncResult BeginRemoveById(System.Guid uniqueIdentifier, int Id, string Login, string Password, System.AsyncCallback callback, object asyncState)
|
||||
{
|
||||
return this.BeginInvoke("RemoveById", new object[] {
|
||||
uniqueIdentifier,
|
||||
Id,
|
||||
Login,
|
||||
Password}, callback, asyncState);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void EndRemoveById(System.IAsyncResult asyncResult)
|
||||
{
|
||||
this.EndInvoke(asyncResult);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://umbraco.org/webservices/GetRefreshers", RequestNamespace = "http://umbraco.org/webservices/", ResponseNamespace = "http://umbraco.org/webservices/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||
public System.Xml.XmlNode GetRefreshers(string Login, string Password)
|
||||
{
|
||||
object[] results = this.Invoke("GetRefreshers", new object[] {
|
||||
Login,
|
||||
Password});
|
||||
return ((System.Xml.XmlNode)(results[0]));
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public System.IAsyncResult BeginGetRefreshers(string Login, string Password, System.AsyncCallback callback, object asyncState)
|
||||
{
|
||||
return this.BeginInvoke("GetRefreshers", new object[] {
|
||||
Login,
|
||||
Password}, callback, asyncState);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public System.Xml.XmlNode EndGetRefreshers(System.IAsyncResult asyncResult)
|
||||
{
|
||||
object[] results = this.EndInvoke(asyncResult);
|
||||
return ((System.Xml.XmlNode)(results[0]));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user