public override Transaction UnmarshalTransaction() { Transaction transaction; if (!TransactionCache <string, Transaction> .Find(this.context.Identifier, out transaction)) { transaction = this.wsatProxy.UnmarshalTransaction(this); new WsatExtendedInformation(this.context.Identifier, this.context.Expires).TryCache(transaction); WsatIncomingTransactionCache.Cache(this.context.Identifier, transaction); } return(transaction); }
public override Transaction UnmarshalTransaction() { Transaction tx; if (WsatIncomingTransactionCache.Find(this.context.Identifier, out tx)) { return(tx); } tx = this.wsatProxy.UnmarshalTransaction(this); // Cache extended information for subsequent marshal operations WsatExtendedInformation info = new WsatExtendedInformation(context.Identifier, context.Expires); info.TryCache(tx); // Cache the unmarshalled transaction for subsequent unmarshal operations WsatIncomingTransactionCache.Cache(this.context.Identifier, tx); return(tx); }
public static void Cache(string identifier, Transaction tx) { WsatIncomingTransactionCache entry = new WsatIncomingTransactionCache(); entry.AddEntry(tx, identifier, tx); }