本文整理汇总了C#中System.ServiceModel.Channels.BindingParameterCollection.Add方法的典型用法代码示例。如果您正苦于以下问题:C# BindingParameterCollection.Add方法的具体用法?C# BindingParameterCollection.Add怎么用?C# BindingParameterCollection.Add使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.ServiceModel.Channels.BindingParameterCollection
的用法示例。
在下文中一共展示了BindingParameterCollection.Add方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AddBindingParameters
public void AddBindingParameters(OperationDescription description, BindingParameterCollection parameters)
{
//see if ChunkingBindingParameter already exists
ChunkingBindingParameter param =
parameters.Find<ChunkingBindingParameter>();
if (param == null)
{
param = new ChunkingBindingParameter();
parameters.Add(param);
}
if ((appliesTo & ChunkingAppliesTo.InMessage)
== ChunkingAppliesTo.InMessage)
{
//add input message's action to ChunkingBindingParameter
param.AddAction(description.Messages[0].Action);
}
if (!description.IsOneWay &&
((appliesTo & ChunkingAppliesTo.OutMessage)
== ChunkingAppliesTo.OutMessage))
{
//add output message's action to ChunkingBindingParameter
param.AddAction(description.Messages[1].Action);
}
}
示例2: ArgumentNullException
void IServiceBehavior.AddBindingParameters(System.ServiceModel.Description.ServiceDescription description, ServiceHostBase serviceHostBase, Collection<ServiceEndpoint> endpoints, BindingParameterCollection parameters)
{
if (parameters == null)
{
throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentNullException("parameters"));
}
parameters.Add(this);
}
开发者ID:pritesh-mandowara-sp,项目名称:DecompliedDotNetLibraries,代码行数:8,代码来源:ServiceSecurityAuditBehavior.cs
示例3:
void IServiceBehavior.AddBindingParameters(System.ServiceModel.Description.ServiceDescription description, ServiceHostBase serviceHostBase, Collection<ServiceEndpoint> endpoints, BindingParameterCollection parameters)
{
if (parameters == null)
{
throw FxTrace.Exception.ArgumentNull("parameters");
}
parameters.Add(this.virtualPathExtension);
}
示例4: ArgumentNullException
/// <summary>
/// Adds the binding parameters.
/// </summary>
/// <param name="serviceEndpoint">The service endpoint.</param>
/// <param name="parameters">The parameters.</param>
void IEndpointBehavior.AddBindingParameters(ServiceEndpoint serviceEndpoint, BindingParameterCollection parameters)
{
if (parameters == null)
{
throw new ArgumentNullException("parameters");
}
ServiceDebugBehavior debugBehavior = parameters.Find<ServiceDebugBehavior>();
if (debugBehavior == null && this.serviceDebugBehavior != null)
{
parameters.Add(this.serviceDebugBehavior);
}
DispatcherSynchronizationBehavior synchronizationBehavior = parameters.Find<DispatcherSynchronizationBehavior>();
if (synchronizationBehavior == null && this.dispatcherSynchronizationBehavior != null)
{
parameters.Add(this.dispatcherSynchronizationBehavior);
}
}
示例5: EnsureDictionary
static Dictionary<DirectionalAction, TransactionFlowOption> EnsureDictionary(BindingParameterCollection parameters)
{
Dictionary<DirectionalAction, TransactionFlowOption> dictionary =
parameters.Find<Dictionary<DirectionalAction, TransactionFlowOption>>();
if (dictionary == null)
{
dictionary = new Dictionary<DirectionalAction, TransactionFlowOption>();
parameters.Add(dictionary);
}
return dictionary;
}
示例6: CreateClientProvider
StreamSecurityUpgradeProvider CreateClientProvider (params object [] parameters)
{
SslStreamSecurityBindingElement bel =
new SslStreamSecurityBindingElement ();
BindingParameterCollection pl =
new BindingParameterCollection ();
foreach (object o in parameters)
pl.Add (o);
BindingContext ctx = new BindingContext (
new CustomBinding (new HttpTransportBindingElement ()), pl);
return bel.BuildClientStreamUpgradeProvider (ctx)
as StreamSecurityUpgradeProvider;
}
示例7: InitializeRuntime
protected override void InitializeRuntime()
{
BindingParameterCollection bpc = new BindingParameterCollection();
VirtualPathExtension virtualPathExtension = this.Extensions.Find<VirtualPathExtension>();
if (virtualPathExtension != null)
{
bpc.Add(virtualPathExtension);
}
BasicHttpBinding basicHttpBinding = new BasicHttpBinding();
IChannelListener<IReplyChannel> listener = basicHttpBinding.BuildChannelListener<IReplyChannel>(interestedUri, bpc);
CustomChannelDispatcher channelDispatcher = new CustomChannelDispatcher(serviceManager, listener);
this.ChannelDispatchers.Add(channelDispatcher);
}
示例8: BuildChannelDispatcher
private ChannelDispatcher BuildChannelDispatcher(Uri listenUri, ServiceHostBase host)
{
BindingParameterCollection parameters = new BindingParameterCollection();
VirtualPathExtension item = host.Extensions.Find<VirtualPathExtension>();
if (item != null)
{
parameters.Add(item);
}
IChannelListener<IReplyChannel> listener = null;
WebHttpBinding binding = new WebHttpBinding();
if (binding.CanBuildChannelListener<IReplyChannel>(parameters))
{
listener = binding.BuildChannelListener<IReplyChannel>(listenUri, parameters);
}
ChannelDispatcher channelDispatcher = new ChannelDispatcher(listener)
{
MessageVersion = MessageVersion.None
};
return channelDispatcher;
}
示例9:
void IEndpointBehavior.AddBindingParameters (ServiceEndpoint endpoint,
BindingParameterCollection parameters)
{
parameters.Add (this);
}
示例10: CreateDefaultServiceCertFactory
IChannelFactory<IRequestChannel> CreateDefaultServiceCertFactory ()
{
CustomBinding b = CreateBinding (delegate (Message req) {
return null;
});
ClientCredentials cred = new ClientCredentials ();
cred.ServiceCertificate.DefaultCertificate = new X509Certificate2 ("Test/Resources/test.pfx", "mono");
BindingParameterCollection parameters =
new BindingParameterCollection ();
parameters.Add (cred);
ChannelProtectionRequirements cp =
new ChannelProtectionRequirements ();
cp.IncomingSignatureParts.AddParts (
new MessagePartSpecification (true),
"http://tempuri.org/MyAction");
cp.IncomingEncryptionParts.AddParts (
new MessagePartSpecification (true),
"http://tempuri.org/MyAction");
parameters.Add (cp);
return b.BuildChannelFactory<IRequestChannel> (parameters);
}
示例11: SendRequestWithSignatureMessagePart
public void SendRequestWithSignatureMessagePart ()
{
CustomBinding b = CreateBinding ();
ChannelProtectionRequirements cp =
new ChannelProtectionRequirements ();
cp.IncomingSignatureParts.AddParts (new MessagePartSpecification (true), "myAction");
cp.IncomingEncryptionParts.AddParts (new MessagePartSpecification (true), "myAction");
BindingParameterCollection parameters =
new BindingParameterCollection ();
parameters.Add (cp);
IChannelFactory<IRequestChannel> f =
b.BuildChannelFactory<IRequestChannel> (parameters);
f.Open ();
IRequestChannel ch = f.CreateChannel (CreateX509EndpointAddress ("stream:dummy"));
ch.Open ();
ch.Request (Message.CreateMessage (b.MessageVersion, "myAction"));
}
示例12: OnConfigureBinding
/// <summary>
/// Called to apply the configuration on the endpoint level.
/// </summary>
/// <param name="webHttpRelayBinding">Azure Http endpoint.</param>
/// <returns>The <see cref="BindingParameterCollection"/> to use when building the <see cref="IChannelListener"/> or null if no binding parameters are present.</returns>
protected virtual BindingParameterCollection OnConfigureBinding(Binding webHttpRelayBinding)
{
if (webHttpRelayBinding == null)
{
throw new ArgumentNullException("webHttpRelayBinding");
}
var bindingParameters = new BindingParameterCollection();
bindingParameters.Add(new TransportClientEndpointBehavior(TokenProvider.CreateSharedSecretTokenProvider(IssuerName, IssuerSecret)));
return bindingParameters;
}
示例13: OpenRequestNonAuthenticatable
public void OpenRequestNonAuthenticatable ()
{
SymmetricSecurityBindingElement sbe =
new SymmetricSecurityBindingElement ();
sbe.ProtectionTokenParameters =
new UserNameSecurityTokenParameters ();
Binding binding = new CustomBinding (sbe, new HandlerTransportBindingElement (null));
BindingParameterCollection pl =
new BindingParameterCollection ();
ClientCredentials cred = new ClientCredentials ();
cred.UserName.UserName = "mono";
pl.Add (cred);
IChannelFactory<IRequestChannel> f =
binding.BuildChannelFactory<IRequestChannel> (pl);
f.Open ();
IRequestChannel ch = f.CreateChannel (new EndpointAddress ("stream:dummy"));
try {
ch.Open ();
Assert.Fail ("NotSupportedException is expected.");
} catch (NotSupportedException) {
}
}
示例14: AddBindingParameters
public void AddBindingParameters(ServiceEndpoint endpoint, BindingParameterCollection parameters)
{
// get Contract info security needs, and put in BindingParameterCollection
ISecurityCapabilities isc = null;
BindingElementCollection elements = endpoint.Binding.CreateBindingElements();
for (int i = 0; i < elements.Count; ++i)
{
if (!(elements[i] is ITransportTokenAssertionProvider))
{
ISecurityCapabilities tmp = elements[i].GetIndividualProperty<ISecurityCapabilities>();
if (tmp != null)
{
isc = tmp;
break;
}
}
}
if (isc != null)
{
// ensure existence of binding parameter
ChannelProtectionRequirements requirements = parameters.Find<ChannelProtectionRequirements>();
if (requirements == null)
{
requirements = new ChannelProtectionRequirements();
parameters.Add(requirements);
}
MessageEncodingBindingElement encoding = elements.Find<MessageEncodingBindingElement>();
// use endpoint.Binding.Version
if (encoding != null && encoding.MessageVersion.Addressing == AddressingVersion.None)
{
// This binding does not support response actions, so...
requirements.Add(ChannelProtectionRequirements.CreateFromContractAndUnionResponseProtectionRequirements(endpoint.Contract, isc, isForClient));
}
else
{
requirements.Add(ChannelProtectionRequirements.CreateFromContract(endpoint.Contract, isc, isForClient));
}
}
}
示例15: AddCredentialsToBindingParameters
private BindingParameterCollection AddCredentialsToBindingParameters()
{
BindingParameterCollection bindingParameters = new BindingParameterCollection();
bindingParameters.Add(_credentials);
return bindingParameters;
}