本文整理汇总了C#中FubuTransportation.Runtime.Envelope.UseSerializer方法的典型用法代码示例。如果您正苦于以下问题:C# Envelope.UseSerializer方法的具体用法?C# Envelope.UseSerializer怎么用?C# Envelope.UseSerializer使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FubuTransportation.Runtime.Envelope
的用法示例。
在下文中一共展示了Envelope.UseSerializer方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: get_error_message_details_Port_QueueName_SourceInstanceId_MessageId
public ErrorQueueMessageVisualization get_error_message_details_Port_QueueName_SourceInstanceId_MessageId(
ErrorMessageInputModel input)
{
var messageId = new MessageId
{
MessageIdentifier = input.MessageId,
SourceInstanceId = input.SourceInstanceId
};
var message = RetrieveMessage(messageId, input.Port, input.QueueName);
if (message == null)
{
_fubuRequest.Set(new QueueMessageNotFound
{
Id = messageId,
QueueName = input.QueueName
});
return null;
}
var errorReport = ErrorReport.Deserialize(message.Data);
var exceptionDetails = new ExceptionDetails
{
Explanation = errorReport.Explanation,
ExceptionType = errorReport.ExceptionType,
ExceptionMessage = errorReport.ExceptionMessage,
ExceptionText = errorReport.ExceptionText
};
var envelope = new Envelope(new NameValueHeaders(message.Headers)) {Data = errorReport.RawData};
envelope.UseSerializer(_serializer);
return new ErrorQueueMessageVisualization
{
MessageId = messageId,
QueueName = message.Queue,
SubQueueName = message.SubQueue,
Status = message.Status,
SentAt = message.SentAt,
Headers = message.Headers,
Payload = envelope.Message,
ExceptionDetails = exceptionDetails
};
}
示例2: use_serializer
public void use_serializer()
{
var envelope = new Envelope
{
Data = new byte[] {1, 2, 3, 4}
};
var serializer = MockRepository.GenerateMock<IEnvelopeSerializer>();
var theExpectedMessage = new object();
serializer.Stub(x => x.Deserialize(envelope)).Return(theExpectedMessage);
envelope.UseSerializer(serializer);
envelope.Message.ShouldBeTheSameAs(theExpectedMessage);
}