1、定义一个attribute,同时继承接口 IOperationBehavior
[AttributeUsage(AttributeTargets.Method)]
public class RecordAttribute : Attribute, IOperationBehavior
{
private readonly string _operationName;
private readonly RecordType _recordType;
public RecordAttribute(string methodname, RecordType recordType)
{
_operationName = methodname;
_recordType = recordType;
}
protected RecordInvoker CreateInvoker(IOperationInvoker oldInvoker)
{
return new RecordInvoker(oldInvoker, _operationName, _recordType);
}
public void Validate(OperationDescription operationDescription)
{
}
public void ApplyDispatchBehavior(OperationDescription operationDescription, DispatchOperation dispatchOperation)
{
IOperationInvoker oldInvoker = dispatchOperation.Invoker;
dispatchOperation.