PDA

View Full Version : تشخيص انلاين بودت يك رول(role) خاص



shima and pariya
پنج شنبه 15 اسفند 1392, 22:39 عصر
سلام من ميخوام در صورت انلاين بودن مدير( كه در اينجا يك مدير دارم با نام كاربريxxxx) بقيه كاربران (چه مهمان و چه عضو ) متوجه حضور ش بشن( مثلا با ي پيغام)
اين كد رو نوشنم ولي گاهي جواب ميده و گاهي نه(متوجه نشدم اين " گاهي " چه شرايطي هستش!!!!!!!!!!)
دوستان ميشه راهنمايي كنن يا بگن چه كدي بنويسم بهتره


if (Membership.GetUser("xxxx").IsOnline)
LblAdmin.Text = "مدير حضور دارد";
else
LblAdmin.Text = "مدير حضور ندارد";

shima and pariya
جمعه 16 اسفند 1392, 18:42 عصر
باورم نميشه اينقد اين سوال سخت باشه.دوستان اگه ميدونن خواهشا بي جواب رد نشن

VRAnonymous
جمعه 16 اسفند 1392, 18:50 عصر
چک کردی ببینی در چه مواردی جواب نمیده؟
timeout رو برای session ها چه مدت در نظر گرفتی؟
اگه میتونی اطلاعات بیشتری در این مورد بده

shima and pariya
جمعه 16 اسفند 1392, 21:47 عصر
timeout 20 دقيقه هست .تغييرش ندادم .جالب اينجاست كه ي ليبل در نظر گرفتم كه اگه كاربر يا مدير لاگين كرد پيغام خوش امد گويي بده و اون مشكلي نداره و درست جواب ميده و امكاناتي كه واسه هر رول در نظر گرفتم هم به درستي كار ميكنه (پيش اومده تو قسمت مديريت هستم و سشن هم از بين نرفته ولي تو ليبل نشون ميده كه مدير حضور ندارد)
واسه پيغام خوش امد گويي اين كدو نوشتم كه درسته


if (Page.User.Identity.IsAuthenticated)
{
if (Page.User.IsInRole("Admin"))
{
Label1.Text = " مدير ارجمند خوش امديد ";

}
else if (Page.User.IsInRole("User"))
Label1.Text = " كاربر گرامي خوش امديد ";

}


ولي نميدونم اون كد نمايش حضور مدير چه اشكالي داره هر دو كد هم تو مستر پيج و پشت سر هم نوشته شدن

VRAnonymous
شنبه 17 اسفند 1392, 00:53 صبح
این مطلب رو خوندی؟ شاید مشکل از این عدم تطابق زمانی باشه
http://msdn.microsoft.com/en-us/library/system.web.security.membership.userisonlinetimewin dow.aspx

salar IT man
سه شنبه 30 اردیبهشت 1393, 22:13 عصر
[QUOTE=shima and pariya;1985899]سلام من ميخوام در صورت انلاين بودن مدير( كه در اينجا يك مدير دارم با نام كاربريxxxx) بقيه كاربران (چه مهمان و چه عضو ) متوجه حضور ش بشن( مثلا با ي پيغام)
اين كد رو نوشنم ولي گاهي جواب ميده و گاهي نه(متوجه نشدم اين " گاهي " چه شرايطي هستش!!!!!!!!!!)
دوستان ميشه راهنمايي كنن يا بگن چه كدي بنويسم بهتره
[CODE]
if (Membership.GetUser("xxxx").IsOnline)

سلام دوست عزیز .چرا از متغییر Application استفاده نمیکنید!
به این صورت که اگر شخصی که لاگین کرد Admin بود :


if (Membership.GetUser("xxxx").IsOnline)
Application["AdminOnline"]=true;

و در مستر پیج :



if((bool)Application["AdminOnline"])
Label1.Text="admin is online";
else
Label1.Text="admin is offline";


و در صفحه LogOut :


if (Membership.GetUser("xxxx").IsOnline)
Application["AdminOnline"]=false;


موفق باشید