1 Şubat 2011 Salı

asp.net session SQL server kaydetmek

asp.net sessionları veri tabanına kaydetmek istersek C:\Windows\Microsoft.NET\Framework\version altından  aşağıdaki komutu çalıştırarak sql server session tutar hale getirebiliri.z

For Adding SQL mode session state
C:\ >aspnet_regsql -S localhost -U sa -P wrox -ssadd -sstype p
Start adding session state.
...........
Finished.
For Remove SQL mode session state
C:\ >aspnet_regsql -S localhost -U sa -P wrox -ssremove -sstype p
Start adding session state.
...........
Finished.
kullanılacak web.config satırı ise
<sessionState mode="SQLServer"sqlConnectionString="Data Source=localhost;User ID=***;Password=***"cookieless="false"timeout="1000" />

6 yorum:

  1. mevcut veritabanı ile birleştirmek için ise gerekli komut
    C:\Windows\Microsoft.NET\Framework\v4.0.30319>aspnet_regsql -S bilgisayaradi\SQLEXPRE
    SS -U sa -P sifre-ssadd -d databaseadi -sstype c

    YanıtlaSil
  2. çünkü makaledi kodu uygulanırsa ASPState isminde bir DB oluşturuyor hosting de sıkıntı çıkartabilir.

    YanıtlaSil
  3. teşekkürler paylaşım için ancak üstte verdiğin mevcut vt ye ekleme eksik parametre hatası veriyor.

    "The argument '-S' is specified and it requires one of the following arguments to
    be specified as well: -A, -R, -ed, -dd, -et, -dt, -lt, -ssadd, -ssremove"

    YanıtlaSil
  4. Oluşan exception mesajları bunlar

    SQL Exception:
    System.Data.SqlClient.SqlException (0x80131904): The EXECUTE permission was deni
    ed on the object 'sp_delete_job', database 'msdb', schema 'dbo'.
    If the job does not exist, an error from msdb.dbo.sp_delete_job is expected.
    konum: System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Bo
    olean breakConnection)
    konum: System.Data.SqlClient.SqlInternalConnection.OnError(SqlException excep
    tion, Boolean breakConnection)
    konum: System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning()
    konum: System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlComman
    d cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler,
    TdsParserStateObject stateObj)
    konum: System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodNa
    me, Boolean async)
    konum: System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult
    result, String methodName, Boolean sendToPipe)
    konum: System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
    konum: System.Web.Management.SqlServices.ExecuteFile(String file, String serv
    er, String database, String dbFileName, SqlConnection connection, Boolean sessio
    nState, Boolean isInstall, SessionStateType sessionStatetype)

    YanıtlaSil
  5. -U sa -P sifre belirtilen sa kullanıcı olursa çok iyi olur.he EXECUTE permission was denied hatası almışsınız sebebi kullanıcının yetkisi olmadığından olabilir

    YanıtlaSil
  6. birde bunu deneyin.....
    C:\WINDOWS\Microsoft.NET\Framework\.netversiyonu>aspnet_regsql.exe -ssadd -C "Data
    Source=localhost;User ID=***;Password=***"

    şeklinde ayarlanırlar.
    web.config dede yapılması gerekenler

    YanıtlaSil