Почему значение типа времени конвертируется в 00:00:00 после отправки в качестве параметра? - PullRequest
0 голосов
/ 16 октября 2019

У меня есть веб-служба asmx, которую я написал.

Я отправляю ему значение Timespan, то есть 13:00:00, используя Timespan.Parse, но когда оно получено в веб-службе, оно изменяется на 00:00: 00.

 System.TimeSpan t = System.TimeSpan.Parse(txtNotifTime.Text);  // Value is 13:00:00

PMNotif_SSLLocal.DT_PMNotificationRequestRecords request = 
    new PMNotif_SSLLocal.DT_PMNotificationRequestRecords();

request.NOTIF_TIME = t;  // assigned value is 13:00:00
Immediate window result:

{13:00:00}
    Days: 0
    Hours: 13
    Milliseconds: 0
    Minutes: 0
    Seconds: 0
    Ticks: 468000000000
    TotalDays: 0.54166666666666663
    TotalHours: 13.0
    TotalMilliseconds: 46800000.0
    TotalMinutes: 780.0
    TotalSeconds: 46800.0

Тип Notif_Time равен Timespan.

Теперь при получении в веб-сервисе:

[WebMethod]
// [SoapHeader("NetworkCredentials")]
public DT_PMNotificationResponseRecords[] SI_PMNotification_Out_Sync(
    DT_PMNotificationRequestRecords[] request)
{
}

здесь request.Notif_Timeis 00:00:00.

Результат немедленного окна:

request.NOTIF_TIME
{00:00:00}
    Days: 0
    Hours: 0
    Milliseconds: 0
    Minutes: 0
    Seconds: 0
    Ticks: 0
    TotalDays: 0
    TotalHours: 0

Обновление:

Я отправляю его как массив, но все еще не повезло.

requestRecords = new PMNotif_SSLLocal.DT_PMNotificationRequestRecords[] { request };
...