Create an account to edit articles | See Formatting Syntax for Wiki syntax | We look forward to your contribution!
You are here: The ProductCart Encyclopedia » ProductCart Developers' Corner » Understanding Session Time-outs or Loss of Session
Differences
This shows you the differences between two versions of the page.
|
developers:timeout-issues [2010/03/03 16:30] hamish Additional info about the IIS7 session setting. |
developers:timeout-issues [2010/08/27 05:00] (current) |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Understanding Session Time-out Issues ====== | + | ====== Understanding Session Time-outs or Loss of Session ====== |
| ===== Symptoms of a Lost Server Session ===== | ===== Symptoms of a Lost Server Session ===== | ||
| Line 87: | Line 87: | ||
| ==== IIS7 ===== | ==== IIS7 ===== | ||
| + | |||
| + | === What the problem is === | ||
| IIS7 has a setting called "New ID On Secure Connection (keepSessionIdSecure)" | IIS7 has a setting called "New ID On Secure Connection (keepSessionIdSecure)" | ||
| Line 92: | Line 94: | ||
| This generates a new cookie when a transition from a non-secure to a secure connection is made. The default is True. Change this to False if you can, or ask your hosting company to make the change. [[http://technet.microsoft.com/en-us/library/cc731782.aspx|Here is more information from Microsoft on this topic]]. | This generates a new cookie when a transition from a non-secure to a secure connection is made. The default is True. Change this to False if you can, or ask your hosting company to make the change. [[http://technet.microsoft.com/en-us/library/cc731782.aspx|Here is more information from Microsoft on this topic]]. | ||
| - | === A more detailed explanation of the IIS7 issue === | + | === More detailed explanation === |
| What is happening is the environment is creating a separate session variable each for "http" and another for "https" so that when you switch between them, it will give the appearance of missing items. You can verify this when you experience the empty cart (if you are in https) by simply changing the URL for the page you are on to http and you will see your items in the cart. | What is happening is the environment is creating a separate session variable each for "http" and another for "https" so that when you switch between them, it will give the appearance of missing items. You can verify this when you experience the empty cart (if you are in https) by simply changing the URL for the page you are on to http and you will see your items in the cart. | ||
| Line 98: | Line 100: | ||
| The root of the problem is ProductCart running in the Win2008/IIS7 environment when IIS7 is set up using default values. There is some key differences between IIS6 and IIS7. | The root of the problem is ProductCart running in the Win2008/IIS7 environment when IIS7 is set up using default values. There is some key differences between IIS6 and IIS7. | ||
| - | If you do not have your own server you will need to be in discussion with your web host to have them change some settings in IIS7. | + | |
| - | + | === How to fix it === | |
| - | __The Fix for IIS7__ | + | |
| - | + | You have two options to fix this issue: | |
| - | In the IIS properties window, under the ASP tab --> Session Properties, there is a setting for "New ID on Secure Connections" (this is the friendly name). IIS7 had this set on/enabled by default. You will need to ask your host to turn this setting off. | + | |
| + | - **IIS setting** \\ In the IIS properties window, under the ASP tab --> Session Properties, there is a setting for "New ID on Secure Connections" (this is the friendly name). IIS7 had this set on/enabled by default. You will need to ask your host to turn this setting off. | ||
| + | - **web.config file** \\ If you are having problems in your ProductCart-powered store during checkout (e.g. a message indicating that the shopping cart is empty), then try the following. | ||
| + | - Create a new Notepad file with the following content: <code><?xml version="1.0" encoding="utf-8" ?> | ||
| + | <configuration> | ||
| + | <system.webServer> | ||
| + | <asp> | ||
| + | <session keepSessionIdSecure="false" /> | ||
| + | </asp> | ||
| + | </system.webServer> | ||
| + | </configuration></code> | ||
| + | - Save the file with the name "Web.config" \\ //Make sure it does not have a *.txt extension. The entire file name should be "web.config"// | ||
| + | - Upload it to the root folder using your favorite FTP software | ||
| ==== Application Pool : Idle Time-out ==== | ==== Application Pool : Idle Time-out ==== | ||
| Line 129: | Line 143: | ||
| Make sure that you do not have a "global.asa" file on your site that is overriding the default session timeout value. | Make sure that you do not have a "global.asa" file on your site that is overriding the default session timeout value. | ||
| + | |||
| + | ==== Application Directory ==== | ||
| + | |||
| + | Make sure that your 'includes' folder is NOT configured as an Application Directory, otherwise it will initiate a new session every time this folder is called. | ||
Trace: » Batch Process Images add-on for ProductCart 3.51 & 4 » Google Analytics: Setting a ProductCart-specific "Goal" » Google Analytics: obtaining and adding the tracking code » MailChimp API Integration for ProductCart » How to get help » Checkout Options » Automated Cross Selling - "Customers who bought this also bought..." » Anonymous Checkout Mod for ProductCart 3.51 » Styling the ProductCart storefront with Cascading Style Sheets » Catalog on Demand® for ProductCart®