mirror of https://github.com/quasar/Quasar.git
34 lines
1.4 KiB
C#
34 lines
1.4 KiB
C#
#if FEAT_SERVICEMODEL && PLAT_XMLSERIALIZER
|
|
using System;
|
|
using System.ServiceModel.Description;
|
|
using System.ServiceModel.Dispatcher;
|
|
|
|
namespace ProtoBuf.ServiceModel
|
|
{
|
|
/// <summary>
|
|
/// Uses protocol buffer serialization on the specified operation; note that this
|
|
/// must be enabled on both the client and server.
|
|
/// </summary>
|
|
[AttributeUsage(AttributeTargets.Method, AllowMultiple = false)]
|
|
public sealed class ProtoBehaviorAttribute : Attribute, IOperationBehavior
|
|
{
|
|
void IOperationBehavior.AddBindingParameters(OperationDescription operationDescription, System.ServiceModel.Channels.BindingParameterCollection bindingParameters)
|
|
{ }
|
|
|
|
void IOperationBehavior.ApplyClientBehavior(OperationDescription operationDescription, ClientOperation clientOperation)
|
|
{
|
|
IOperationBehavior innerBehavior = new ProtoOperationBehavior(operationDescription);
|
|
innerBehavior.ApplyClientBehavior(operationDescription, clientOperation);
|
|
}
|
|
|
|
void IOperationBehavior.ApplyDispatchBehavior(OperationDescription operationDescription, DispatchOperation dispatchOperation)
|
|
{
|
|
IOperationBehavior innerBehavior = new ProtoOperationBehavior(operationDescription);
|
|
innerBehavior.ApplyDispatchBehavior(operationDescription, dispatchOperation);
|
|
}
|
|
|
|
void IOperationBehavior.Validate(OperationDescription operationDescription)
|
|
{ }
|
|
}
|
|
}
|
|
#endif |