2013-07-17 1 views
4

Почему создание 4,5 Web Forms проект ASP.NET в Visual Studio 2012 имеют следующие в web.config по умолчанию:ASP.NET Session-State InProc

... 
<connectionStrings> 
    <add name="DefaultConnection" providerName="System.Data.SqlClient" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-Project.Web-20130625130806;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-Project.Web-20130625130806.mdf" /> 
</connectionStrings> 
... 
<sessionState mode="InProc" customProvider="DefaultSessionProvider"> 
    <providers> 
    <add name="DefaultSessionProvider" type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" /> 
    </providers> 
</sessionState> 
... 

(Мой вопрос не о том, что LocalDB является или почему есть примерная строка соединения)

В нем указано here, что InProc означает, что состояние сеанса хранится в памяти. Почему тогда вам нужно указать строку соединения после объявления InProc?

ответ

6

Раздел <ConnectionStrings>, показанный выше раздела <SessionState>, никак не связан с sessionState. Раздел ConnectionStrings предназначен для других целей, например, когда у вас есть собственная база данных, и вам нужно подключиться к ней, а также этот раздел содержит только сведения о базе данных, используемой для MemberShip, профилей и т. Д.

Элемент <sessionState > имеет свои собственные настройки для задания строки соединения с именем: sqlConnectionString, как показано ниже:

<sessionState mode="Off|InProc|StateServer|SQLServer" 
       cookieless="true|false" 
       timeout="number of minutes" 
       stateConnectionString="tcpip=server:port" 
       sqlConnectionString="sql connection string" 
       stateNetworkTimeout="number of seconds"/> 

Теперь, когда вы используете режим = «InProc», то нет никакой необходимости, чтобы установить параметр sqlConnectionString. Даже если он установлен, он не будет использоваться, так как режим «InProc» & не «SQLServer»

 Смежные вопросы

  • Нет связанных вопросов^_^