Need help setting up ASP.NET SQL Server Session.

Discussion in 'General troubleshooting' started by Sergio Tapia, Mar 15, 2012.

  1. As per this article:
    http://support.Winhost.com/KB/a626/how-to-enable-aspnet-sql-server-session-on-your-web.aspx

    I have already contacted support and they have created the relevant schema.

    I have triple checked and the tables were created successfully on my database.

    I'm hosting an MVC3 application and here is my web.config file contents:

    Code:
    <?xml version="1.0"?>
    <!--
      For more information on how to configure your ASP.NET application, please visit
      http://go.microsoft.com/fwlink/?LinkId=152368
      -->
    <configuration>  
      <connectionStrings>    
        <!-- REMOVED FOR PRIVACY -->
      </connectionStrings>
      <appSettings>
        <add key="webpages:Version" value="1.0.0.0"/>
        <add key="ClientValidationEnabled" value="true"/>
        <add key="UnobtrusiveJavaScriptEnabled" value="true"/>
      </appSettings>
      <system.web>    
        <sessionState mode="SQLServer"
                      allowCustomSqlDatabase="true"                  
                      cookieless="false"
                      timeout="2880"
                      sqlConnectionString="data Source='tcp:s07.Winhost.com';database='DB_38147_xx';user id='DB_38147_xx_user'; password='xx';" />
        <trust level="Full"/>
        <compilation debug="true" targetFramework="4.0">
          <assemblies>
            <add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
            <add assembly="System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
            <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
            <add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
            <add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
          </assemblies>
        </compilation>
        <authentication mode="Forms">
          <forms loginUrl="~/" timeout="2880"/>
        </authentication>
        <membership>
          <providers>
            <clear/>
            <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/"/>
          </providers>
        </membership>
        <profile>
          <providers>
            <clear/>
            <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/"/>
          </providers>
        </profile>
        <roleManager enabled="false">
          <providers>
            <clear/>
            <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/"/>
            <add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/"/>
          </providers>
        </roleManager>
        <pages>
          <namespaces>
            <add namespace="System.Web.Helpers"/>
            <add namespace="System.Web.Mvc"/>
            <add namespace="System.Web.Mvc.Ajax"/>
            <add namespace="System.Web.Mvc.Html"/>
            <add namespace="System.Web.Routing"/>
            <add namespace="System.Web.WebPages"/>
          </namespaces>
        </pages>
      </system.web>
      <system.webServer>
        <validation validateIntegratedModeConfiguration="false"/>
        <modules runAllManagedModulesForAllRequests="true"/>
      </system.webServer>
      <runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
          <dependentAssembly>
            <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35"/>
            <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="3.0.0.0"/>
          </dependentAssembly>
          <dependentAssembly>
            <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral"/>
            <bindingRedirect oldVersion="0.0.0.0-4.0.8.0" newVersion="4.0.8.0"/>
          </dependentAssembly>
        </assemblyBinding>
      </runtime>
    </configuration>

    Here lies the problem:

    My users are still getting logged of after some time. I thought using SQL for the session would prevent this issue.

    Here is the relevant bit of code on how I'm loggin my users in:

    Code:
    [HttpPost]
    public ActionResult Login(LogOnModel model)
    {
        using (EfAccountRepository accountRepository = new EfAccountRepository())
        {
            if (accountRepository.ValidateCredentials(model.Email, model.Password))
            {
                [COLOR="Red"]FormsAuthentication.SetAuthCookie(model.Email, true);[/COLOR]
                return RedirectToAction("Index", "Home");
            }    
        }
    
        ModelState.AddModelError("", "Your email or password is incorrect.");
        return View(model);
    }
    Any suggestions?
     
    Last edited by a moderator: Oct 14, 2015
  2. Last edited by a moderator: Oct 14, 2015

Share This Page