Я пишу небольшой веб-интерфейс, который выходит на передний план установки System Center Orchestrator. Предполагается, что он попадет в рабочую книгу и вернет некоторые данные - эта часть в основном неважна.ArgumentOutOfRangeException (время UTC, представленное, когда применяется смещение, должно быть в диапазоне от 0 до 10000.) С OData/SC Orchestrator
код пытается начать работу runbook, чтобы получить некоторые данные обратно, используя образец кода (и заменял в моих требований) от https://msdn.microsoft.com/en-us/library/hh921685.aspx
Единственные линии я Изменились ссылки на моей Orchestrator, то GUID рабочей среды и параметры рабочей среды.
Эта линия бросает исключение в названии:
context.SaveChanges();
, который имеет эту трассировку стеки, показывая ошибку, кажется, происходящим где-то в OData царства вещей, превзойдя мой код:
[ArgumentOutOfRangeException: The UTC time represented when the offset is applied must be between year 0 and 10,000.
Parameter name: offset]
System.DateTimeOffset.ValidateDate(DateTime dateTime, TimeSpan offset) +14215620
System.DateTimeOffset..ctor(DateTime dateTime) +56
Microsoft.Data.OData.Atom.EpmSyndicationWriter.CreateDateTimeStringValue(Object propertyValue, ODataWriterBehavior writerBehavior) +144
Microsoft.Data.OData.Atom.EpmSyndicationWriter.WriteEntryEpm(EntryPropertiesValueCache epmValueCache, IEdmEntityTypeReference entityType) +652
Microsoft.Data.OData.Atom.EpmSyndicationWriter.WriteEntryEpm(EpmTargetTree epmTargetTree, EntryPropertiesValueCache epmValueCache, IEdmEntityTypeReference type, ODataAtomOutputContext atomOutputContext) +80
Microsoft.Data.OData.Atom.ODataAtomWriter.EndEntry(ODataEntry entry) +627
Microsoft.Data.OData.ODataWriterCore.<WriteEndImplementation>b__16() +168
Microsoft.Data.OData.ODataWriterCore.InterceptException(Action action) +121
Microsoft.Data.OData.ODataWriterCore.WriteEndImplementation() +69
Microsoft.Data.OData.ODataWriterCore.WriteEnd() +40
System.Data.Services.Client.ODataWriterWrapper.WriteEnd(ODataEntry entry, Object entity) +47
System.Data.Services.Client.Serializer.WriteEntry(EntityDescriptor entityDescriptor, IEnumerable`1 relatedLinks, ODataRequestMessageWrapper requestMessage) +485
System.Data.Services.Client.BaseSaveResult.CreateRequestData(EntityDescriptor entityDescriptor, ODataRequestMessageWrapper requestMessage) +117
System.Data.Services.Client.BaseSaveResult.CreateChangeData(Int32 index, ODataRequestMessageWrapper requestMessage) +136
System.Data.Services.Client.SaveResult.CreateNonBatchChangeData(Int32 index, ODataRequestMessageWrapper requestMessage) +224
System.Data.Services.Client.SaveResult.CreateNextChange() +174
System.Data.Services.Client.DataServiceContext.SaveChanges(SaveChangesOptions options) +178
System.Data.Services.Client.DataServiceContext.SaveChanges() +37
S3Tools.RunbookOperations.GetClusters(String site) in [redacted]\RunbookOps.cs:58
Я просмотрел The UTC time represented when the offset is applied must be between year 0 and 10,000. Parameter name: offset и UTC time represented when the offset is applied must be between year 0 and 10,000 error, и он выглядит подозрительно подобным образом (особенно последний), который вызывает https://support.microsoft.com/en-us/kb/2346777, но исправление, предоставленное MS, не относится к Windows 10 (моя рабочая статистика on) или Windows 2012 R2 (веб-сервер).
Я не хочу менять либо свой часовой пояс (UTC + 10), либо сервер для проверки, прежде чем увидеть, есть ли у кого-нибудь какие-либо идеи или кто-то сталкивался с этим раньше.
У меня есть сценарии powershell, которые вполне способны генерировать эти задания (хотя они не могут использовать служебные ссылки, которые вы должны сгенерировать запрос вручную). Поэтому я не склонен полагать, что что-то виновато, кроме CLR.
Подводный вопрос: Кто-нибудь столкнулся с этим и зафиксировал его?
Сегодня утром я решил попробовать изменить временные точки рабочей станции, чтобы узнать, не имеет значения. Это не так. Я пробовал как UTC, так и UTC-12. Поэтому я не думаю, что это результат этого. – Kruft
Я только что видел [эту техническую статью] (https://social.technet.microsoft.com/Forums/en-US/e248ecef-9561-4409-8a3f-8299bcc721a4/exception-using-code-sample-in- utc-1-timezone? forum = scoqik), который может работать. Дайте ему вихрь. – Kruft