none
(Sumber: milist DOTNET) Transfering Session Between Application RRS feed

  • Pertanyaan

  • Dear Dotneters,

    Mau nanya bagaimana cara mentransfer session between aplications.??

    Rencana saya saya akan melakukan penyimpanan session state di dalam sql server.

    sesuai dengan referensi yang saya temukan

    http://blogs.msdn.com/b/akshayns/archive/2008/10/04/how-to-configure-sql-server-to-store-a-session-state.aspx

    saya sudah melakukan langkah -langkah sebagai berikut:

    1. saya sudah menyiapkan sebuah database dengan menggunakan perintah
    ASPNET_REGSQL.EXE :


    aspnet_regsql  -ssadd  -d SQLSessionTable  -S serverName –sstype  c  -U domain\user -P Password

    2. Sya juga sudah menambahkan di web config saya untuk kedua website dengan syntax seperti dibwah ini :

    <sessionState

    mode="SQLServer"

    allowCustomSqlDatabase="true"

    sqlConnectionString="Data Source=serverName;Initial Catalog=SQLSessionTable; Integrated Security=True;"

    cookieless="false"

    timeout="20" />



    3.Saya sudah membuat dua aplikasi web based yang di deploy ke satu web server:


    Pada website pertama saya sudah set session lalu lsg ke redirect ke website kedua:

    Protected Sub BtnTampilkanLHP_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnTampilkanLHP.Click
            Try
                Session("User") = "Farid"

                Response.Redirect("http://localhost/Test2", False)
               
            Catch ex As Exception

            End Try
        End Sub

    Pada website kedua saya sudah tangkap Session("User") pada waktu page load:

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            Try
                If Session("User") Is Nothing Then
                    Label1.Text = "Nothing"
                End If

            Catch ex As Exception
                Label1.Text = "Error : " & ex.Message
            End Try
        End Sub


    4. Session berhasil dismipan ke sql server tetapi Tetap session ga bisa terambil padahal kedua website sudah ditambahkan syntax ke web.config seperti yg sebelumnya.

    5. Saya juga sudah mengikuti saran pada website microsoft dengan mengubah IIS Metabase agar kedua aplikasi point ke instance ID yang sama
    http://support.microsoft.com/kb/325056

    6. Masih juga tidak bisa passing session between two applications...



    Mohon petunjuk kira-kira salah saya dibagian yang mana? atau ada settingan yang masih kurang.


    Trima kasih
    Selasa, 28 Juni 2011 08.53
    Moderator

Jawaban

  • Coba di debug dulu pake Fiddler, apakah session Id yang dikirim ke aplikasi 1 sama dengan yang dikirim ke aplikasi 2.

     

    Trus kan session nya kesimpen di database tuh, bisa keliatan kok session id, app id, dsb.

     

    Regards,

    Cahyadi Hendrawan


    Agnes Sannie [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    Selasa, 28 Juni 2011 08.56
    Moderator
  • Gak perlu ditransfer, karena nilainya bisa dibaca secara otomatis dari aplikasi manapun. Contoh:

     

    Web App1:

    Application(“User”) = “Farid”

     

    Setelah redirect ke App2:

    If (Application(“User”)) Is Nothing Then

     Label1.Text = “Nothing”

    Else

     Label1.Text = Application(“User”).ToString()

    End If

     

    Anda bisa juga coba pake Cache object. Perbedaannya adalah, Cache object ini bisa diset waktu expirenya. Kalau Application object, selamanya ada disitu dan kalau terlalu banyak bisa membebani server resource

     

    Dijawab oleh: Rahmat Sobari


    Agnes Sannie [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    Rabu, 29 Juni 2011 03.22
    Moderator

Semua Balasan