여기에 덤비는되는 것은 시험의 :MassTransit 내 문자열 데이터
var bus = ServiceBusFactory.New(c =>
{
c.DisablePerformanceCounters();
c.UseRabbitMq();
c.ReceiveFrom("rabbitmq://localhost/qqq");
});
bus.SubscribeHandler((Order o) => Console.WriteLine(o.Date));
bus.Publish(new Order
{
Date = "1994-11-05T13:15:30Z"
});
가 여기 내 주문 클래스의 (날짜 속성은 문자열 유형입니다!) :
public class Order
{
public string Date { get; set; }
}
내가 할 일의 내용을 예상 표시되지만 실제 출력은 다음과 같습니다.
11/05/1994 13:15:30
따라서 MassTransit은 수신 한 모든 문자열을 Dat eTime을 누른 다음 원하는 방식으로 형식을 지정합니다.
UPD : Json 대신 XmlSerializer를 사용하여 문제를 해결하지 못했습니다. 여기에 메시지의 부분은 내가 RabbitMQ에서 본의 :
<date>1994-11-05T13:15:30Z</date>
그리고 앱에서 수신 된 메시지가 다시 같은 방식으로 변경된다
11/05/1994 13:15:30
UPD2 : 나는 시리얼을 (테스트 한 Json.NET) :
var panda = new Panda
{
Birthday = "1994-11-05T13:15:30Z"
};
Console.Out.WriteLine(JsonConvert.DeserializeObject<Panda>(JsonConvert.SerializeObject(panda)).Birthday);
출력은 "있는 그대로"의 문자열이므로 serializer에는 문제가없는 것으로 보입니다.
"날짜 속성은 문자열 유형 임"- 이유가 무엇입니까? –
외부 소스에서받은 데이터를 나타내는 것으로 가정하고 나중에 입력 된 객체로 파싱하고 싶습니다. 그러나 제 질문과 관련이 없습니다. – vorou
당신이 그것이 관련되어 찾을 것 같아 .... –