C # DateTime Online без текущего устройства DateTime - PullRequest
0 голосов
/ 13 мая 2018

Вот моя точка зрения. У меня есть программа, которая использовала данные в сети, и правильный DateTime импортируется для моей работы. Обычно я буду использовать клиента DateTime, но тогда DateTime не всегда будет правильным.

Почему? Потому что пользователь может изменить DateTime по своему желанию .. и другие проблемы.

Скажем, у меня есть этот пример кода

var TimeOnline = GetDateTimeOnline();

Теперь я получаю свой сервер DateTime в переменной TimeOnline, и он работает, но не то, что мне нужно. Нужно ли мне использовать эту функцию GetDateTimeOnline(), когда мне нужно проверять, что такое DateTime на моем сервере?

И, конечно, я не могу использовать этот код

var date1 = DateTime.Now - TimeOnline;

Чтобы узнать разницу DateTime между моим сервером и клиентом, используйте это DateTime.Now + date1, потому что пользователь может изменить его в любое время.

Ответы [ 2 ]

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

Вы можете запросить текущее время на сервере, а затем сравнить время сервера с клиентским временем.Затем вы вычисляете секунды, которые они отличаются, и сохраняете это значение(Это может быть как положительное, так и отрицательное значение.) Каждый раз, когда вы хотите рассчитать серверное время, возьмите клиентское время и добавьте разницу секунд к клиентскому времени, которая должна дать вам текущее серверное время.

Я предлагаю обновлять разницу в секундах каждые пять минут.

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

Я когда-то был в ситуации, очень похожей на то, что вы описываете.
У меня было приложение winforms, работающее на нескольких компьютерах и получающее данные из службы WCF.

Мне пришлось показывать время сервера пользователю на экране, как запущенные часы.

В итоге я использовал таймер, но рассчитал время, прошедшее с сервера, которое я получал от сервера WCF при каждом подключении к службе, а также периодически отправлял запрос на обновление datetime ( раз в 5 минут, если память не изменяет). Я не уверен, какова ваша ситуация, но она помогла мне, так что может помочь и вашей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...