You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
1.2 KiB
40 lines
1.2 KiB
using System.ServiceModel.Channels;
|
|
using System.ServiceModel.Description;
|
|
using System.ServiceModel.Dispatcher;
|
|
|
|
namespace EC.Helper.Onvif.Security;
|
|
|
|
public class SoapSecurityHeaderBehavior : IEndpointBehavior
|
|
{
|
|
private readonly string username;
|
|
private readonly string password;
|
|
private readonly TimeSpan time_shift;
|
|
|
|
public SoapSecurityHeaderBehavior(string username, string password) : this(username, password, TimeSpan.FromMilliseconds(0))
|
|
{
|
|
}
|
|
|
|
public SoapSecurityHeaderBehavior(string username, string password, TimeSpan timeShift)
|
|
{
|
|
this.username = username;
|
|
this.password = password;
|
|
time_shift = timeShift;
|
|
}
|
|
|
|
public void AddBindingParameters(ServiceEndpoint endpoint, BindingParameterCollection bindingParameters)
|
|
{
|
|
}
|
|
|
|
public void ApplyClientBehavior(ServiceEndpoint endpoint, ClientRuntime clientRuntime)
|
|
{
|
|
clientRuntime.ClientMessageInspectors.Add(new SoapSecurityHeaderInspector(username, password, time_shift));
|
|
}
|
|
|
|
public void ApplyDispatchBehavior(ServiceEndpoint endpoint, EndpointDispatcher endpointDispatcher)
|
|
{
|
|
}
|
|
|
|
public void Validate(ServiceEndpoint endpoint)
|
|
{
|
|
}
|
|
}
|