Отправить DateTime в почтовом запросе - PullRequest
0 голосов
/ 19 мая 2018

Привет, у меня есть приложение на C # (Xamarin) и API .net.Как я могу опубликовать DateTime в моем .Net API?

.Net API

На данный момент у меня есть:

        var formContent = new FormUrlEncodedContent(new[]
        {
            new KeyValuePair<string, string>("Email", u.Email),
            new KeyValuePair<string, string>("Password", u.Password),
            new KeyValuePair<string, string>("ConfirmPassword", u.ConfirmPassword),
            new KeyValuePair<string, string>("Gender", u.Gender),
            new KeyValuePair<string, string>("DateOfBirth", u.DateOfBirth)
        });


        HttpResponseMessage response = await client.PostAsync("/api/Account/Register", formContent);

Все строки работают нормально, однакоЯ не могу понять, DateTime один.Я бы предположил, что это будет:

       KeyValuePair<string, DateTime>("DateOfBirth", u.DateOfBirth)

, но это не работает.Если я преобразую DateTime в строку, дата на сервере будет выглядеть как 01.01.1900, что тоже неправильно.

Ответы [ 2 ]

0 голосов
/ 20 мая 2018

Я фактически закончил сериализацию объекта, который имел все атрибуты, которые я хотел опубликовать, и это, похоже, сработало.

string postBody = JsonConvert.SerializeObject(u);

HttpResponseMessage response = await client.PostAsync("/api/Account/Register", new StringContent(postBody, Encoding.UTF8, "application/json")); 
0 голосов
/ 19 мая 2018

Как насчет отправки тиков?

Преобразовать DataTime в тики и отправить их:

var ticks = DateTime.UtcNow.Ticks;
...