| 
	Rank: Advanced Member
 Groups: HelpDesk, DevelopersJoined: 11/9/2018(UTC)
 Posts: 564
 
 Thanks: 122 timesWas thanked: 26 time(s) in 25 post(s)
 
 | 
            
		      
                1.  The postback is not refreshing the page properly when the default theme is changed.  Console shows 404 postback response after setting a different default theme.
 2.  The UI correctly hides the delete button for the currently selected store theme.  However when you change the default theme, the buttons do not refresh.  I can now click a Delete button on the theme set as the default when that should not be permitted.  Screen then says it has been deleted but it does not seem to happen when clicked.  The visuals should be consistent.  Again console shows postback throwing a 404 when clicked.
 
 
 
 | 
    | 
             | 
            
         | 
    |  | 
        
        
        
            
        
            
            
    | 
	Rank: Advanced Member
 Groups: Developers, Registered, HelpDesk, Authorized UserJoined: 10/5/2018(UTC)
 Posts: 704
 
 Thanks: 6 timesWas thanked: 113 time(s) in 112 post(s)
 
 | 
            
		      
                Quote:The postback is not refreshing the page properly when the default theme is changed. Console shows a 404 postback response after setting a different default theme. Can you please share the request URL for which the 404 is happening in the console. Quote:The UI correctly hides the delete button for the currently selected store theme. However, when you change the default theme, the buttons do not refresh. I can now click a Delete button on the theme set as the default when that should not be permitted. The screen then says it has been deleted but it does not seem to happen when clicked. The visuals should be consistent. Again console shows postback throwing a 404 when clicked. Are you referring to site.com/Admin/Website/ManageThemes page? For me, when I change the default theme from this page I can't see the delete button on page update. Please let me know if I am missing something.  If possible, please share a screenshot.  Thanks Edited by user Friday, November 22, 2019 1:01:39 PM(UTC)
 | Reason: Not specified | 
    | 
             | 
            
         | 
    |  | 
        
        
        
    
        
            
            
    | 
	Rank: Advanced Member
 Groups: HelpDesk, DevelopersJoined: 11/9/2018(UTC)
 Posts: 564
 
 Thanks: 122 timesWas thanked: 26 time(s) in 25 post(s)
 
 | 
            
		      
                Bizarre.   I left the app for a few hours and returned.  Now both issues do not happen.  The postback after changing default theme is clean, no errors.  And the delete button correctly refreshes (hides) immediately when a new theme is selected.  It's behaving exactly as it should now.
 Shari I noticed a similar behavior when I was working with the file uploader earlier today.  Initially I had no value set for allowed extensions for Images in the store settings.  So I went and set a value.  File uploader then let me choose my store logo to upload and I moved along with my work.   About 20 minutes later, I went to upload another logo and I couldn't - the allowed extensions for Images was blank again.  I'm 100% certain I saved the value because I reloaded the page just to make sure.
 
 That means I'm seeing certain store settings not persist after a period of time.  And entire MVC routes suddenly throw 404 when they were working before.
 
 I smell a cache issue somewhere.
 
 I'll get better screenshots for you next time.  I didn't expect such issues to not be reproduced at a later time.  Sorry.
 | 
    | 
             | 
            
         | 
    |  | 
        
        
        
            
        
            
            
    | 
	Rank: Advanced Member
 Groups: HelpDesk, DevelopersJoined: 11/9/2018(UTC)
 Posts: 564
 
 Thanks: 122 timesWas thanked: 26 time(s) in 25 post(s)
 
 | 
            
		      
                Ok, it just did it again.  My Images setting is gone again from allowed file extensions.  When I go to the security settings page to set it, I can set the value and click save.  Browser then throws a 404 on url http://solunarv9/Admin/Security/SaveSettings
 The value does get saved though.
 
 
 
 | 
    | 
             | 
            
         | 
    |  | 
        
        
        
    
        
            
            
    | 
	Rank: Advanced Member
 Groups: System, Administrators, Developers, Registered, HelpDeskJoined: 10/29/2018(UTC)
 Posts: 501
 
 Thanks: 4 timesWas thanked: 36 time(s) in 35 post(s)
 
 | 
            
		      
                Hi Joe,
 I tried to reproduce this issue on 3 different installs over the weekend.  The settings are saved and always appear, even if I let the session expire and re-access the page.
 
 This is such a peculiar issue.  Is there anything about your development environment that might give us a clue?
 
 Thanks
 Katie
 | 
| Thanks for your support!
 Katie
 Secure eCommerce Software and Hosting
 | 
    | 
              1 user thanked Katie S for this useful post. |  | 
    |  | 
        
        
        
            
        
            
            
    | 
	Rank: Advanced Member
 Groups: HelpDesk, DevelopersJoined: 11/9/2018(UTC)
 Posts: 564
 
 Thanks: 122 timesWas thanked: 26 time(s) in 25 post(s)
 
 | 
            
		      
                I've been recompiling the MVC app obviously since I'm developing in it.  That's the only thing I can think of.  
 I haven't modified a single line of CommerceBuilder yet, just added a few of my own classes and one set of data classes for a custom table.  I haven't modified anything in Able MVC either except to add one button to the view-order admin page.  Everything else is in my own controllers and my own views.
 
 The only theory I have so far is something in the IIS caching gets wonky when the app is recompiled and restarted several times in an hour.  But I would think that would have manifested itself early on in the dev of v9 since that's the only way to do what we're (both) doing.  So that's not much of a theory at this point.
 
 Aside from that, I'm using Rider IDE instead of Studio 2019.  I've implemented C# 7.0.  I installed HangFire and ABCPDF NuGet packages.  Nothing extreme, prototype, beta or unproven.
 
 And most of the time, it's completely fine.  It's like at random times the MVC route table gets dropped and the Able app can't find controllers any more.
 
 When it happens again, I'm going to test other Able pages unrelated to my task at the time.  Maybe there's a pattern of which v9 pages work and which ones don't when the issue occurs.  That might give us a clue as to what is suddenly missing in the route tables.
 | 
    | 
             | 
            
         | 
    |  | 
        
        
        
    
        
            
            
    | 
	Rank: Advanced Member
 Groups: System, Administrators, Developers, Registered, HelpDeskJoined: 10/29/2018(UTC)
 Posts: 501
 
 Thanks: 4 timesWas thanked: 36 time(s) in 35 post(s)
 
 | 
            
		      
                It's possible that we're not seeing these issues because we all use Visual Studio.  I know that even this can get a little glitchy on recompiles.  I always use the Clean build option first, then, while it's building, I am watching the output screen to make sure everything is created.
 I remembered something from the beta phase where we implemented L2 Cache.
 
 Here is one post from an issue that I thought might be relevant, or at least something we can look into.
 
 
 (ref. AC9-38)
 Summary:
 Level 2 cache can have problems with direct SQL inserts/updates/deletes made via ISQLQuery interface of nhibernate. Whenever nhibernate detects a ISQL based code statement, syscache invalidates it cached contents.
 
 Mazhar added a comment - 26/Mar/18 5:34 AM
 
 This issue becomes more relevant as we tune our application for performance using L2 cache. ISQL based INSERT/UPDATE/DELETE queries can invalidate L2 cache even though data could be still valid.
 
 
 | 
| Thanks for your support!
 Katie
 Secure eCommerce Software and Hosting
 | 
    | 
             | 
            
         | 
    |  | 
        
        
        
            
        
            
            
    | 
	Rank: Advanced Member
 Groups: System, Administrators, Developers, Registered, HelpDeskJoined: 10/29/2018(UTC)
 Posts: 501
 
 Thanks: 4 timesWas thanked: 36 time(s) in 35 post(s)
 
 | 
            
		      
                Hi Joe, 
 Can you try to reproduce the issue after opening the project in Rider and doing a recompile?  In other words, leave the step out where you recycle IIS.
 
 Let me know when you can please.
 | 
| Thanks for your support!
 Katie
 Secure eCommerce Software and Hosting
 | 
    | 
             | 
            
         | 
    |  | 
        
        
        
    
        
            
            
    | 
	Rank: Advanced Member
 Groups: HelpDesk, DevelopersJoined: 11/9/2018(UTC)
 Posts: 564
 
 Thanks: 122 timesWas thanked: 26 time(s) in 25 post(s)
 
 | 
            
		      
                Didn't change anything.  Did a full rebuild in Rider, same issue.   Did some more exploring, found some more clues: 1.  Every single Configure sub-menu page that has a Save button throws 404.  Every single one can't find their controller. 2.  Other pages like Saving an edited user, saving an edited coupon, etc all work fine. 3.  FYI I did modify breadcrumbs in admin so my custom controller would render properly. 4.  Saving settings on ShipStation Settings page throws an ugly exception once you populate settings values and click save.  Probably unrelated but here it is. Quote:Server Error in '/' Application.
 not-null property references a null or transient value CommerceBuilder.Stores.StoreSetting.FieldValue
 Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
 
 Exception Details: NHibernate.PropertyValueException: not-null property references a null or transient value CommerceBuilder.Stores.StoreSetting.FieldValue
 
 Source Error:
 
 
 Line 106:                // FLUSH THE EXISTING SESSION
 Line 107:                ISession session = GetSession();
 Line 108:                session.Flush();
 Line 109:                CurrentTransaction = session.BeginTransaction(isolationLevel);
 Line 110:                session.FlushMode = FlushMode.Commit;
 
 Source File: D:\AbleMods-GitHub\Solunarv9\trunk\Projects\AbleSource\CommerceBuilder\Common\DatabaseSessionManager.cs    Line: 108
 
 Stack Trace:
 
 
 [PropertyValueException: not-null property references a null or transient value CommerceBuilder.Stores.StoreSetting.FieldValue]
 NHibernate.Engine.Nullability.CheckNullability(Object[] values, IEntityPersister persister, Boolean isUpdate) +514
 NHibernate.Event.Default.DefaultFlushEntityEventListener.ScheduleUpdate(FlushEntityEvent event) +829
 NHibernate.Event.Default.DefaultFlushEntityEventListener.OnFlushEntity(FlushEntityEvent event) +178
 NHibernate.Event.Default.AbstractFlushingEventListener.FlushEntities(FlushEvent event) +436
 NHibernate.Event.Default.AbstractFlushingEventListener.FlushEverythingToExecutions(FlushEvent event) +297
 NHibernate.Event.Default.DefaultFlushEventListener.OnFlush(FlushEvent event) +153
 NHibernate.Impl.SessionImpl.Flush() +183
 CommerceBuilder.Common.DatabaseSessionManager.BeginTransaction(IsolationLevel isolationLevel) in D:\AbleMods-GitHub\Solunarv9\trunk\Projects\AbleSource\CommerceBuilder\Common\DatabaseSessionManager.cs:108
 CommerceBuilder.Common.DatabaseSessionManager.BeginTransaction() in D:\AbleMods-GitHub\Solunarv9\trunk\Projects\AbleSource\CommerceBuilder\Common\DatabaseSessionManager.cs:95
 CommerceBuilder.Stores.StoreSettingsManager.Save() in D:\AbleMods-GitHub\Solunarv9\trunk\Projects\AbleSource\CommerceBuilder\Stores\StoreSettingsManager.cs:1856
 AbleCommerce.Areas.Admin.Controllers.DataExchangeController.ShipStationSettings(ShipSationModel model) in D:\AbleMods-GitHub\Solunarv9\trunk\Website\Areas\Admin\Controllers\DataExchangeController.cs:1439
 lambda_method(Closure , ControllerBase , Object[] ) +139
 System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters) +229
 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters) +35
 System.Web.Mvc.Async.AsyncControllerActionInvoker.<BeginInvokeSynchronousActionMethod>b__39(IAsyncResult asyncResult, ActionInvocation innerInvokeState) +39
 System.Web.Mvc.Async.WrappedAsyncResult`2.CallEndDelegate(IAsyncResult asyncResult) +70
 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult) +42
 System.Web.Mvc.Async.AsyncInvocationWithFilters.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3d() +72
 System.Web.Mvc.Async.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f() +387
 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult) +42
 System.Web.Mvc.Async.<>c__DisplayClass2b.<BeginInvokeAction>b__1c() +38
 System.Web.Mvc.Async.<>c__DisplayClass21.<BeginInvokeAction>b__1e(IAsyncResult asyncResult) +188
 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) +38
 System.Web.Mvc.Controller.<BeginExecuteCore>b__1d(IAsyncResult asyncResult, ExecuteCoreState innerState) +29
 System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +68
 System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +52
 System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +39
 System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) +38
 System.Web.Mvc.MvcHandler.<BeginProcessRequest>b__5(IAsyncResult asyncResult, ProcessRequestState innerState) +43
 System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +68
 System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +38
 System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +602
 System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step) +195
 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +128
 
 Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.7.3429.0
 
 | 
    | 
             | 
            
         | 
    |  | 
        
        
        
            
        
            
            
    | 
	Rank: Advanced Member
 Groups: System, Administrators, Developers, Registered, HelpDeskJoined: 10/29/2018(UTC)
 Posts: 501
 
 Thanks: 4 timesWas thanked: 36 time(s) in 35 post(s)
 
 | 
            
		      
                I believe the ShipStation error is related.  The data is being saved to the save ac_StoreSettings table, like file extensions. This is working fine on my end, so at this point, we'll need to wait for feedback from one of the developers.
 Thanks for posting the error message. I think it's going to help.
 
 
 
 | 
| Thanks for your support!
 Katie
 Secure eCommerce Software and Hosting
 | 
    | 
             | 
            
         | 
    |  | 
        
        
        
    
        
            
            
    | 
	Rank: Advanced Member
 Groups: Developers, Registered, HelpDesk, Authorized UserJoined: 10/5/2018(UTC)
 Posts: 704
 
 Thanks: 6 timesWas thanked: 113 time(s) in 112 post(s)
 
 | 
            
		      
                Hi, Sorry for the delay in response.  Can you please share the request URL on which you are getting 404. Also please if you can share the code changes you did for breadcrumbs? Did you added breadcrumb for Configure menu? Quote:Saving settings on ShipStation Settings page throws an ugly exception once you populate settings values and click save. Probably unrelated but here it is. Regarding this issue please confirm if you have created any custom class mapped on database table and you are assigning store object to it before saving the object.  You might have missed assigning store to an entity before saving the object.  Please let me know for further help. Edited by user Friday, November 29, 2019 11:52:09 AM(UTC)
 | Reason: Not specified | 
    | 
             | 
            
         | 
    |  | 
        
        
        
    
                           
	
    
        Forum Jump
         
	
    
    You cannot post new topics in this forum.
	
	You cannot reply to topics in this forum.
	
	You cannot delete your posts in this forum.
	
	You cannot edit your posts in this forum.
	
	You cannot create polls in this forum.
	
	You cannot vote in polls in this forum.
	
	
    
    
        Important Information:
        The AbleCommerce Forums uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
        
        
More Details
        Close