@ismcagdas
I have gone through all suggestions and still have the same issue, it looks like others are having the same issue as well.
The list of timezones coming from the api is still duplicating the display text but has Iana values for the value.
This is what comes back from the /api/services/app/Timing/GetTimezones call:
{
"result": {
"items": [
{
"name": "Default [UTC]",
"value": ""
},
{
"name": "Hawaii-Aleutian Standard Time",
"value": "America/Adak"
},
{
"name": "Hawaii-Aleutian Standard Time",
"value": "Pacific/Honolulu"
},
{
"name": "Marquesas Time",
"value": "Pacific/Marquesas"
},
{
"name": "Alaska Standard Time",
"value": "America/Anchorage"
},
{
"name": "Pacific Standard Time",
"value": "America/Tijuana"
},
{
"name": "Pacific Standard Time",
"value": "America/Los_Angeles"
},
...
Selecting the second "Pacific Standard Time" entry puts the value "America/Los_Angeles" into the database, then when the page refreshes it errors:
ERROR 2018-04-17 16:29:45,333 [3 ] Mvc.ExceptionHandling.AbpExceptionFilter - Unable to map America/Los_Angeles to iana timezone.
System.Exception: Unable to map America/Los_Angeles to iana timezone.
at Abp.Timing.Timezone.TimezoneHelper.WindowsToIana(String windowsTimezoneId) in D:\Github\aspnetboilerplate\src\Abp\Timing\Timezone\TimezoneHelper.cs:line 45
at Abp.Web.Configuration.AbpUserConfigurationBuilder.<GetUserTimingConfig>d__46.MoveNext() in D:\Github\aspnetboilerplate\src\Abp.Web.Common\Web\Configuration\AbpUserConfigurationBuilder.cs:line 241
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Abp.Web.Configuration.AbpUserConfigurationBuilder.<GetAll>d__37.MoveNext() in D:\Github\aspnetboilerplate\src\Abp.Web.Common\Web\Configuration\AbpUserConfigurationBuilder.cs:line 66
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Abp.AspNetCore.Mvc.Controllers.AbpUserConfigurationController.<GetAll>d__2.MoveNext() in D:\Github\aspnetboilerplate\src\Abp.AspNetCore\AspNetCore\Mvc\Controllers\AbpUserConfigurationController.cs:line 18
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at lambda_method(Closure , Object )
at Microsoft.Extensions.Internal.ObjectMethodExecutorAwaitable.Awaiter.GetResult()
at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.<InvokeActionMethodAsync>d__12.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.<InvokeNextActionFilterAsync>d__10.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Rethrow(ActionExecutedContext context)
at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.<InvokeInnerFilterAsync>d__14.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.<InvokeNextExceptionFilterAsync>d__23.MoveNext()
As you can see it tries to convert the Iana timezone to a windows timezone.
@ismcagdas I don't think your understanding the situation.
We are running the ASP.Net Core version 2.0 under a Linux docker container, if we use a Windows Timezone ID it will fail the look up because the system does not have Windows Timezones. The initial lookup TimezoneHelper.FindTimeZoneInfo(timezoneId); is what fails because passing a Windows Timezone Id fails the system lookup. We have tried Windows Timezone Ids and Iana Timezone Ids and they both fail when running on a Linux machine.
This works fine in Windows.
Hello, thanks @aaron for the details on getting access to Github, we have looked at the issue posted by @ismcagdas <a class="postlink" href="https://github.com/aspnetzero/aspnet-zero-core/issues/667">https://github.com/aspnetzero/aspnet-ze ... issues/667</a> however this is not the issue we are having.
We are running on a docker image (linux) and the list of timezones that come back from the /api/services/app/Timing/GetTimezones call is listing the Iana values instead of the WindowsId values:
{
"result": {
"items": [
{
"name": "Default [UTC]",
"value": ""
},
{
"name": "Hawaii-Aleutian Standard Time",
"value": "America/Adak"
},
{
"name": "Hawaii-Aleutian Standard Time",
"value": "Pacific/Honolulu"
},
{
"name": "Marquesas Time",
"value": "Pacific/Marquesas"
},
{
"name": "Alaska Standard Time",
"value": "America/Anchorage"
},
{
"name": "Pacific Standard Time",
"value": "America/Tijuana"
},
{
"name": "Pacific Standard Time",
"value": "America/Los_Angeles"
},
{
"name": "Mexican Pacific Standard Time",
"value": "America/Chihuahua"
},
{
"name": "Mountain Standard Time",
"value": "America/Denver"
},
{
"name": "Mountain Standard Time",
"value": "America/Phoenix"
},
{
"name": "Central Standard Time",
"value": "America/Regina"
},
{
"name": "Central Standard Time",
"value": "America/Guatemala"
},
{
"name": "Central Standard Time",
"value": "America/Mexico_City"
},
{
"name": "Central Standard Time",
"value": "America/Chicago"
},
...
As you can see we get a lot of duplicate name with different values (the user sees this as duplicate entries in the combobox)
Once we select one of the values in that list (say Central Standard Time with a value of America/Chicago) the application fails to load because it is trying to convert the value America/Chicago from Windows to Iana. See code at: <a class="postlink" href="https://github.com/aspnetboilerplate/aspnetboilerplate/blob/v3.5.0/src/Abp.Web.Common/Web/Configuration/AbpUserConfigurationBuilder.cs#L254">https://github.com/aspnetboilerplate/as ... er.cs#L254</a>
If we change the database to a WindowsId instead (say "Central Standard Time") we get another failure because it tries to load the Timezone info with the TimezoneHelper.FindTimeZoneInfo(timezoneId); call but the system is not Windows and so it fails. See code at: <a class="postlink" href="https://github.com/aspnetboilerplate/aspnetboilerplate/blob/v3.5.0/src/Abp.Web.Common/Web/Configuration/AbpUserConfigurationBuilder.cs#L239">https://github.com/aspnetboilerplate/as ... er.cs#L239</a>
Hi
Are you able to provide access to the link in GitHub?
Our user name is AlderCove.
Thanks Jamie
This appears to be a related issue: #4112@fadf58ad-0efa-4ad0-ae87-d51c59310008
After looking at the Abp code in relation to the error message I can see that the problem is at this location:
<a class="postlink" href="https://github.com/aspnetboilerplate/aspnetboilerplate/blob/v3.5.0/src/Abp.Web.Common/Web/Configuration/AbpUserConfigurationBuilder.cs#L254">https://github.com/aspnetboilerplate/as ... er.cs#L254</a>
protected virtual async Task<AbpUserTimingConfigDto> GetUserTimingConfig()
{
var timezoneId = await SettingManager.GetSettingValueAsync(TimingSettingNames.TimeZone);
var timezone = TimezoneHelper.FindTimeZoneInfo(timezoneId);
return new AbpUserTimingConfigDto
{
TimeZoneInfo = new AbpUserTimeZoneConfigDto
{
Windows = new AbpUserWindowsTimeZoneConfigDto
{
TimeZoneId = timezoneId,
BaseUtcOffsetInMilliseconds = timezone.BaseUtcOffset.TotalMilliseconds,
CurrentUtcOffsetInMilliseconds = timezone.GetUtcOffset(Clock.Now).TotalMilliseconds,
IsDaylightSavingTimeNow = timezone.IsDaylightSavingTime(Clock.Now)
},
Iana = new AbpUserIanaTimeZoneConfigDto
{
TimeZoneId = TimezoneHelper.WindowsToIana(timezoneId)
}
}
};
}
Specifically at TimeZoneId = TimezoneHelper.WindowsToIana(timezoneId), here the timezoneId is already an Iana timezone not a windows time zone on my system (macOS).
Hello, I am trying to get the Timezones working on Abp when running on a Linux system (MacOS High Sierra and aspnetcore linux docker image [https://hub.docker.com/r/microsoft/aspnetcore/] latest for LInux amd64).
I am able to select a time zone from the dropdown list (under the /app/admin/tenantSettings), however once any time zone is selected I am no longer able to load the application.
As you can see in the logs it tries to convert America/Guatemala to an Iana timezone (which is odd since this is not a Windows timezone). If I put in a Windows Time Zone Id instead it tried to load it from the system which fails since it is not running on Windows.
Also note that the entires in the Timezone combobox appear to duplicate (since it is only showing the DisplayText which does not include the Value). Ie:
Default [UTC]
Hawaii-Aleutian Standard Time
Hawaii-Aleutian Standard Time
Marquesas Time
Alaska Standard Time
Pacific Standard Time
Pacific Standard Time
....
Error in logs:
NFO 2018-03-28 13:38:42,951 [4 ] soft.AspNetCore.Hosting.Internal.WebHost - Request starting HTTP/1.1 GET http://localhost:22742/AbpUserConfiguration/GetAll application/json
INFO 2018-03-28 13:38:42,951 [4 ] pNetCore.Cors.Infrastructure.CorsService - Policy execution successful.
INFO 2018-03-28 13:38:42,952 [4 ] uthentication.JwtBearer.JwtBearerHandler - Successfully validated the token.
INFO 2018-03-28 13:38:42,953 [4 ] uthentication.JwtBearer.JwtBearerHandler - AuthenticationScheme: Bearer was successfully authenticated.
INFO 2018-03-28 13:38:42,963 [4 ] pNetCore.Cors.Infrastructure.CorsService - Policy execution successful.
INFO 2018-03-28 13:38:42,965 [4 ] ore.Mvc.Internal.ControllerActionInvoker - Executing action method Abp.AspNetCore.Mvc.Controllers.AbpUserConfigurationController.GetAll (Abp.AspNetCore) with arguments ((null)) - ModelState is Valid
ERROR 2018-03-28 13:38:43,642 [93 ] Mvc.ExceptionHandling.AbpExceptionFilter - Unable to map America/Guatemala to iana timezone.
System.Exception: Unable to map America/Guatemala to iana timezone.
at Abp.Timing.Timezone.TimezoneHelper.WindowsToIana(String windowsTimezoneId) in D:\Github\aspnetboilerplate\src\Abp\Timing\Timezone\TimezoneHelper.cs:line 44
at Abp.Web.Configuration.AbpUserConfigurationBuilder.<GetUserTimingConfig>d__22.MoveNext() in D:\Github\aspnetboilerplate\src\Abp.Web.Common\Web\Configuration\AbpUserConfigurationBuilder.cs:line 243
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Abp.Web.Configuration.AbpUserConfigurationBuilder.<GetAll>d__13.MoveNext() in D:\Github\aspnetboilerplate\src\Abp.Web.Common\Web\Configuration\AbpUserConfigurationBuilder.cs:line 68
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Abp.AspNetCore.Mvc.Controllers.AbpUserConfigurationController.<GetAll>d__2.MoveNext() in D:\Github\aspnetboilerplate\src\Abp.AspNetCore\AspNetCore\Mvc\Controllers\AbpUserConfigurationController.cs:line18
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at lambda_method(Closure , Object )
at Microsoft.Extensions.Internal.ObjectMethodExecutorAwaitable.Awaiter.GetResult()
at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.<InvokeActionMethodAsync>d__12.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.<InvokeNextActionFilterAsync>d__10.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Rethrow(ActionExecutedContext context)
at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.<InvokeInnerFilterAsync>d__14.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.<InvokeNextExceptionFilterAsync>d__23.MoveNext()
INFO 2018-03-28 13:38:43,657 [93 ] etCore.Mvc.Internal.ObjectResultExecutor - Executing ObjectResult, writing value Microsoft.AspNetCore.Mvc.ControllerContext.
INFO 2018-03-28 13:38:43,661 [93 ] ore.Mvc.Internal.ControllerActionInvoker - Executed action Abp.AspNetCore.Mvc.Controllers.AbpUserConfigurationController.GetAll (Abp.AspNetCore) in 697.844ms
INFO 2018-03-28 13:38:43,671 [93 ] soft.AspNetCore.Hosting.Internal.WebHost - Request finished in 720.002ms 500 application/json; charset=utf-8
Abp Nuget Package Versions: 3.3.0
I have been provided with assistance to upgrade my license.
Thank you for your quick response!
Jamie
Hi
The email I recieved said there is a problem with upgrading discount licenses and included a link to extend my license for one more year.
I do not need to extend my license, I just purchased it a couple of weeks ago! I need to upgrade my license! This is an urgent issue, we have a very pressing project deadline and I'm paying a developer who is side lined because he can't use the product!
Please help me resolve this issue ASAP! Many thanks
Hi,
Please help me to extend my license. I have a developer who is dead in the water because I am unable to upgrade my license through the website.
When I click the link to upgrade I get the following message: 500 ERROR! You must have a Discount Code !
I have the regular discount license and need more than three developer seats.
I know this isn't the best place to be asking for help but I've emailed the support address a couple of times starting two days ago and have not heard anything back yet.
Please help me get this sorted.
Many thanks Jamie
I'm loving the product by the way. We just want to be able to use it more!