Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 14 kết quả

Đề tài: Share session giữa 2 ứng dụng web up trên cùng 1 IIS

  1. #1
    Ngày gia nhập
    08 2010
    Nơi ở
    bình dương
    Bài viết
    275

    Mặc định Share session giữa 2 ứng dụng web up trên cùng 1 IIS

    Cho mình hỏi cách share session giữa 2 ứng dụng web up trên cùng 1 IIS. Bạn nào biết có thể chỉ rõ cho mình với, Cảm ơn mọi người

  2. #2
    Ngày gia nhập
    10 2013
    Nơi ở
    Trên nóc nhà
    Bài viết
    132

    Bạn k hiểu rõ về session rồi!

  3. #3
    Ngày gia nhập
    08 2008
    Bài viết
    73

    Trích dẫn Nguyên bản được gửi bởi tuanngocpt Xem bài viết
    Cho mình hỏi cách share session giữa 2 ứng dụng web up trên cùng 1 IIS. Bạn nào biết có thể chỉ rõ cho mình với, Cảm ơn mọi người
    Session trong cùng ứng dụng còn không share được là khác ứng dụng.

    Mỗi session tương ứng với 1 client mà bác.

  4. #4
    Ngày gia nhập
    08 2010
    Nơi ở
    bình dương
    Bài viết
    275

    Minh đã tìm được cách giải quyết cho bạn nào chưa làm được đây là link thực hiện
    1. Open a command prompt and locate the following path: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727based on your OS version and .NET version
    2. Use the following statement:
    a. Using default ASPState database and SQL security
    Collapse | Copy Code
    aspnet_regsql -S serverName -U UserName -P Password -ssadd -sstype p
    b. Using default ASPState database and windows security
    Collapse | Copy Code
    aspnet_regsql -S serverName -E -ssadd -sstype p
    c. Using custom database and SQL security
    Collapse | Copy Code
    aspnet_regsql -d TableName -S serverName -U UserName -P Password
    -ssadd -sstype c
     t - Stores session data in the SQL Server tempdb database. This is the default. If you store session data in the tempdb database, the session data is lost if SQL Server is restarted.
     p - Stores session data in the ASPState database instead of in the tempdb database.
     c - Stores session data in a custom database. If you specify the c option, you must also include the name of the custom database using the -d option.
    3. In your configuration file:
    a. Using default SQL security:
    Collapse | Copy Code
    <sessionstate mode="SQLServer" timeout="20" allowcustomsqldatabase="true"
    sqlconnectionstring="Data Source=Server;User ID=UserID;Password=Password;"
    cookieless="false">
    b. Using default windows security:
    Collapse | Copy Code
    <sessionstate mode="SQLServer" timeout="20" allowcustomsqldatabase="true"
    sqlconnectionstring="Data Source=Server;Integrated-Security=SSPI;"
    cookieless="false">
    c. Custom database name:
    Collapse | Copy Code
    <sessionstate mode="SQLServer" timeout="20" allowcustomsqldatabase="true"
    sqlconnectionstring="Data Source=Server;Initial Catalog=tablename;
    User ID=UserID;Password=Password;" cookieless="false">
     Chú ý: vào trang http://aspnetresources.com/tools/machineKey trên máy SQL dùng để lưu session lấy machine key sau đó thêm ngay vào bên dưới webconfig
    Link Nguồn http://www.codeproject.com/Articles/104082/Configuring-ASP-session-state-on-SQL-server

    P/s Bạnb nam.phong chưa hiểu câu hỏi thì không nên nhận định bừa bãi nha
    Đã được chỉnh sửa lần cuối bởi tuanngocpt : 18-04-2014 lúc 03:55 PM.

  5. #5
    Ngày gia nhập
    10 2013
    Nơi ở
    Trên nóc nhà
    Bài viết
    132

    Bạn share giá trị của session đấy chứ? Làm gì phải là share session?

  6. #6
    Ngày gia nhập
    01 2013
    Bài viết
    1,479

    Mặc định Share session giữa 2 ứng dụng web up trên cùng 1 IIS

    Phải vọc DB à :|
    Cái này chỉ là che mắt thôi.

  7. #7
    Ngày gia nhập
    08 2010
    Nơi ở
    bình dương
    Bài viết
    275

    Trích dẫn Nguyên bản được gửi bởi nam.phong Xem bài viết
    Bạn share giá trị của session đấy chứ? Làm gì phải là share session?
    session để lưu giá trị, share session thì là share giá trị chứ gì bạn

  8. #8
    Ngày gia nhập
    08 2008
    Bài viết
    73

    Đọc cái mở trên không hiểu gì luôn

  9. #9
    Ngày gia nhập
    10 2010
    Bài viết
    249

    Mục đích 2 ứng dụng dùng chung 1 giá trị là gì? Chứ con session thì chịu rồi
    Bôi đen để thấy chữ kí
    Có biết kí đâu mà có chữ kí chứ

  10. #10
    Ngày gia nhập
    01 2010
    Bài viết
    306

    Trích dẫn Nguyên bản được gửi bởi tuanngocpt Xem bài viết
    Minh đã tìm được cách giải quyết cho bạn nào chưa làm được đây là link thực hiện
    1. Open a command prompt and locate the following path: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727based on your OS version and .NET version
    2. Use the following statement:
    a. Using default ASPState database and SQL security
    Collapse | Copy Code
    aspnet_regsql -S serverName -U UserName -P Password -ssadd -sstype p
    b. Using default ASPState database and windows security
    Collapse | Copy Code
    aspnet_regsql -S serverName -E -ssadd -sstype p
    c. Using custom database and SQL security
    Collapse | Copy Code
    aspnet_regsql -d TableName -S serverName -U UserName -P Password
    -ssadd -sstype c
     t - Stores session data in the SQL Server tempdb database. This is the default. If you store session data in the tempdb database, the session data is lost if SQL Server is restarted.
     p - Stores session data in the ASPState database instead of in the tempdb database.
     c - Stores session data in a custom database. If you specify the c option, you must also include the name of the custom database using the -d option.
    3. In your configuration file:
    a. Using default SQL security:
    Collapse | Copy Code
    <sessionstate mode="SQLServer" timeout="20" allowcustomsqldatabase="true"
    sqlconnectionstring="Data Source=Server;User ID=UserID;Password=Password;"
    cookieless="false">
    b. Using default windows security:
    Collapse | Copy Code
    <sessionstate mode="SQLServer" timeout="20" allowcustomsqldatabase="true"
    sqlconnectionstring="Data Source=Server;Integrated-Security=SSPI;"
    cookieless="false">
    c. Custom database name:
    Collapse | Copy Code
    <sessionstate mode="SQLServer" timeout="20" allowcustomsqldatabase="true"
    sqlconnectionstring="Data Source=Server;Initial Catalog=tablename;
    User ID=UserID;Password=Password;" cookieless="false">
     Chú ý: vào trang http://aspnetresources.com/tools/machineKey trên máy SQL dùng để lưu session lấy machine key sau đó thêm ngay vào bên dưới webconfig
    Link Nguồn http://www.codeproject.com/Articles/104082/Configuring-ASP-session-state-on-SQL-server

    P/s Bạnb nam.phong chưa hiểu câu hỏi thì không nên nhận định bừa bãi nha
    Về lý thuyết thì ko nên "share session", vòng đời session đã được ông Microsoft phán rồi, không nên tìm cách phá rào, bởi bạn có thể gặp phải những vấn đề về bất đồng bộ ko thể kiểm soát được nếu cố gắng đọc ghi session theo cách này

    Có 3 cách lưu trữ Session.
    Cách 1 là cách thông dụng nhất: lưu trong bộ nhớ, với cách này thì "share sesion" khó có thể khả thi vì sự bảo vệ bộ nhớ của .NET, C# chứ đâu phải C++ để mà đục đâu thì đục ? Cách 1 này có ưu điểm là nhanh nhất trong 3 cách, nhưng nhược điểm là dữ liệu bộ nhớ trong có hạn, xài nhiều là hết bộ nhớ ngay, và vấn đề về Session data không được lưu trữ trường tồn khi gặp sự cố / Reset server/ Restart app/iis

    Cách 2 là dùng 1 State Service, nói nôm na là dùng 1 service chạy riêng để lưu trữ Session data, service này có thể đặt ở 1 máy khác, cách này chậm hơn cách 1 nhưng nhanh hơn cách 3, và vẫn còn hạn chế về bộ nhớ và sự trường tồn của Session data

    Cách 3 là dùng SQL Database để lưu trữ Session, ở cách này tất tần tật dữ liệu Session data đều được tổ chức thành các bảng và lưu lên 1 CSDL Sql Server. Cách này có ưu điểm là dữ liệu Session được lưu trữ trường tồn trong CSDL, dù có mất điện thì khi bật lại vẫn còn, + với không gian bộ nhớ lớn, nhược điểm là chậm, do mỗi thao tác đều phải truy cập CSDL
    Cách mà bạn "vượt rào" để "share session state" là cách 3 này đây. Thực ra bây giờ bạn chỉ cần viết 1 code bất kỳ truy xuất CSDL chứa Session thì Session nào mà chả đọc được chứ, nó chỉ là mấy cái bảng trong CSDL quan hệ thôi mà

    Mình vẫn nghĩ là nên tránh "share session" bởi các vấn đề bất đồng bộ ( thử tưởng tượng chuyện gì xảy ra nếu 2 ứng dụng của bạn thực hiện ghi session đồng thời, mạnh ai nấy làm, khi ấy liệu có toàn vẹn dữ liệu ? ).

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn