2013-01-02 22 views
5

Khi giao dịch với DateTime đối tượng với WCF, trả lại DateTime đối tượng thiếu thuộc tính Kind, nó sẽ luôn là DateTimeKind.Unspecified ngay cả khi tôi thay đổi thủ công trước khi trả lại!DateTime.Kind không được trả lại trong WCF

Tôi đã làm điều này ở phía WCF:

dateFrom = DateTime.SpecifyKind(dateFrom , DateTimeKind.Utc); 

vẫn còn, nó được gửi như DateTimeKind.Unspecified cho khách hàng ...

Khách hàng được ứng dụng WinForm, máy chủ là WCF lưu trữ trong IIS.

P.S. Tôi biết phương pháp DateTime.ToUniversalTime() nhưng đó không phải là những gì tôi cần.

+0

Yêu cầu đến từ đâu? Làm thế nào ** họ ** gửi ngày? –

+0

@MichaelPerrenoud Trình khách Winform, máy chủ là WCF được lưu trữ trong IIS. –

+0

Và ** cách khách hàng Winform chuyển qua ngày? Có bao gồm bù đắp không? –

Trả lời

5

Bạn có thể tìm ra giải pháp trong câu hỏi này:

Roundtrip XML Serialization of DateTime and xsd:date?

Có hành vi khác nhau để xử lý Ngày, Thời gian và DateTime giá trị. Đối với các giá trị Ngày giờ, nếu XmlDateTimeSerializationMode không phải là Thông tin địa phương về loại (UTC, Địa phương hoặc Không xác định) được giữ nguyên . Điều này cũng đúng trong khi deserializing. Tuy nhiên, đối với Ngày và Thời gian, chúng luôn được tuần tự hóa với cùng định dạng: (yyyy-MM-dd cho Ngày và Hộ: mm: ss.fffffff.zzzzzz cho Thời gian). Vì vậy, các thông tin về loại bị mất trên serializing và deserializing.

+0

+1 cho thẳng tham chiếu điểm – Askolein

Các vấn đề liên quan