Для параметров в OperationContract, которые представляют только дату (без компонента времени или указателя часового пояса), желательно использовать xs: Date, чтобы избежать двусмысленности или проблем с преобразованием часового пояса между клиентом и сервером.
WCF в настоящее время поддерживает только xs: DateTime для сериализации параметров DateTime.
Какой самый простой способ создать OperationContract с параметром, который будет сериализован как xs: Date?
Я имею в виду наличие пользовательского типа .NET "public struct DateOnly" или аналогичного, с неявным приведением к / из стандартного DateTime, которое каким-то образом автоматически генерирует wsdl как xs: Date.
Возможно ли это, и как бы я реализовал это?
Если это возможно, я подозреваю, что решение может включать использование XmlSchemaProviderAttribute для пользовательского типа, но любая документация, которую я нашел по этому атрибуту, выглядит немного непрозрачной.
Обновление
Мне трудно поверить, что это увеличит вероятность получения решения, но я последую совету сайта и начну вознаграждение.
Для ясности, условием для награды является предоставление всей информации, необходимой для построения решения, чтобы параметр WCF OperationContract мог иметь вид:
сериализуется как ws: Date и описывается как таковое в сгенерированном WSDL.
является либо значением System.DateTime, либо может быть неявно приведено к / из DateTime.