PDA

View Full Version : آیا می شود Session ها رو بین ساب دومین های سایت ردو بدل کرد



shahram1980
پنج شنبه 02 آذر 1385, 12:29 عصر
من یه سایت دارم که چندین ساب دومین داره ! و می خوام کاربری که روی ه کدوم login کرد رو بتونم تو همه ساب دومین ها کنترلش کنم یا به عبارت ساده تر مقدار session ی رو که براش روشن کردم رو بتونم بخونم آیا میشه ! لطفا کمک

shahram1980
پنج شنبه 02 آذر 1385, 15:59 عصر
بابا یکی از اساتید کمک !

صابر
پنج شنبه 02 آذر 1385, 21:11 عصر
ساب‌دومین‌های شما مجازی هستن؟
اگه با یک web application با این ساب دومین‌های مجازی کار می‌کنی (همه اونها یک فولدر bin مشترک دارند) مشکلی به وجود نمیاد.

shahram1980
شنبه 04 آذر 1385, 11:34 صبح
مه عزیز مجازی نیست مثلا sub.mudomain.com

SabaSabouhi
شنبه 04 آذر 1385, 17:51 عصر
ساب‌دومین‌های شما مجازی هستن؟
اگه با یک web application با این ساب دومین‌های مجازی کار می‌کنی (همه اونها یک فولدر bin مشترک دارند) مشکلی به وجود نمیاد.

با سلام
ببخشید چه جورى؟
مثلاً در برخى سایت‌هاى چند زبانه به این صورت عمل مى‌شود:
http://mysite/en
http://mysity/fa
این‌طور که از نوشته شما فهمیدم براى این کار مى‌توان یک Application ساخت که چند زیرشاخه دارد. اگر راهنمایى کنید سپاس‌گزار مى‌شوم.

صبا صبوحى

shahroozj
شنبه 04 آذر 1385, 17:59 عصر
امکان پذیر است ،session توسط مرور گر ایجاد میشود و هر مرورگر session خودش را تا زمانی که بسته نشده است یا expire نشده است حفظ میکند
البته به شرطی که زبان server-side شما در هر دو برنامه یکسان باشد مثلا هر دو ASP یا هر دو ASP.Net باشد

صابر
شنبه 04 آذر 1385, 22:02 عصر
با سلام
ببخشید چه جورى؟
مثلاً در برخى سایت‌هاى چند زبانه به این صورت عمل مى‌شود:
http://mysite/en
http://mysity/fa
این‌طور که از نوشته شما فهمیدم براى این کار مى‌توان یک Application ساخت که چند زیرشاخه دارد. اگر راهنمایى کنید سپاس‌گزار مى‌شوم.

صبا صبوحى
سلام مجدد،

منظور من استفاده از یک Web Application در یک شاخه بود. برای ساب دومین هایی که به صورت مجازی http://fa.mysite/ (http://fa.mysite) هستن.
اما در واقع http://mysite/default.aspx?lang=fa
--------------------

امکان پذیر است ،session توسط مرور گر ایجاد میشود و هر مرورگر session خودش را تا زمانی که بسته نشده است یا expire نشده است حفظ میکند
البته به شرطی که زبان server-side شما در هر دو برنامه یکسان باشد مثلا هر دو ASP یا هر دو ASP.Net باشد
به نظر من حرف شما کاملاْ درسته.

pegasos
یک شنبه 05 آذر 1385, 15:39 عصر
با درود.

ASP.NET دو روش برای به اشتراک گذاری Session ها در [Web garden] و [Web farm] در اختیار ما قرار می دهد.
به نوعی می توان گفت برون سپاری برای نگهداری State.

1- State Server :
یک سرور که در حافظه خود State شما را نگهداری می کند.

2- SQL Database :
یک دیتا بیس سرور که در بانک اطلاعاتی خود State شما را نگهداری می کند.

برای استفاده از State Server از روش زیر پیروی کنید :
1- در فایل پیکربندی برنامه خود علمنت های SessionState را به حالت زیر تنظیم کنید :
mode را به StateServer تنظیم کنید و
stateConnectionString را به آدرس سرور مورد نظر تنظیم کنید و بروی درگاه شماره 42



<sessionState
mode="StateServer"
stateConnectionString="tcpip=192.168.1.102:42"
sqlConnectionString="data source=192.168.1.102;user id=sa;password="
cookieless="false"
timeout="20"
/>


2- برنامه ی aspnet_state.exe را برای تنظیمات سرور بروی سرور مورد نظر اجرا کنید.
(فایل مورد نظر را از Visual Studio .NET Command Prompt اجرا کنید.)
این Utility یک ویندوز سرویس برای گوش کردن به پورت مورد نظر و ذخیره و بازیابی State شما بروی سرور مورد نظر به وجود می آورد.

برای استفاده از State Server از روش زیر پیروی کنید :

1- در فایل پیکربندی برنامه خود علمنت های SessionState را به حالت زیر تنظیم کنید :
mode را به SQLServerتنظیم کنید و
sqlConnectionString را برای دیتا بیس مورد نظر خود تنظیم کنید.



<sessionState
mode="SQLServer"
stateConnectionString="tcpip=192.168.1.102:42"
sqlConnectionString="data source=192.168.1.102;user id=sa;password="
cookieless="false"
timeout="20"
/>


2- فایل InstallSqlState.sql را بروی دیتا بیس مورد نظر اجرا کنید.
این Utility جداول و قیود مورد نیاز شما را در دیتا بیس مورد نظر برای نگهداری State پیاده سازی می کند.
فایل را در مکان زیر جستجو کنید :
\WINDOWS\Microsoft.NET\ Framework\version folder when you install Visual Studio .NET Professional, Visual Studio .NET Enterprise Developer, or Visual Studio .NET Enterprise Architect editions.

به امید موفقیت

shahram1980
دوشنبه 06 آذر 1385, 13:05 عصر
ممنون از همتون من سوالمو کاملتر می پرسم ببینید من یک وب سایت مادر دارم که کاربران روی اون لاگین می کنن می خوام مشخصات آنها که در یک سیشین می زارم روی همه ساب دومین هام هم قابل در یافت باشه مثلا من بعضی از شاخه های سایتم فقط برای اعضاء قابل مشاهده است و اگر کاربری لاگین نکرده بشه یا به عبارتی Session مربوطش روشن نباشه نمی تونه بیبینه !
حالا چیکار کنم اصلا درسته که من لاگین بودن یک کاربر رو با session کنترل کنم !

hasina
دوشنبه 06 آذر 1385, 14:57 عصر
توی formbase به session مقدار بده. توی همه ساب دومین ها بهش دسترسی پیدا می کنی

mohsen99
سه شنبه 07 آذر 1385, 07:53 صبح
همه ساب دومین ها مربوط به یک application هستند؟
(یک dll دارند؟)