مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

mojtaba.shayanfar

عضویت از 1394/08/07

بروز نمودن رويت صفحه خبر به ازاء IP مشخص

  • شنبه 14 آذر 1394
  • 15:39
تشکر میکنم

باسلام 

مي خواستم بدونم چطور ميشه كنترل كرد كه اگر از يك دستگاه بيش از يك بار يك خبر رويت شد صرفا يك بار به تعدا PageSee صفحه اضافه بشه .

ممنون.

پاسخ های این پرسش

تعداد پاسخ ها : 7 پاسخ
کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • شنبه 14 آذر 1394
  • 15:46

مقاله زیر ببینید

در آن استفاده شده ولی برای سایت

آمار بازدید سایت در MVC

کاربر سایت

mojtaba.shayanfar

عضویت از 1394/08/07

  • شنبه 28 آذر 1394
  • 11:34

سلام 
ممنون از مطلب مفيد ، من از همين روش استفاده كردم ولي نمي دونم چرا با وجود اينكه در Application_Start() متغيير OnlineUser را تعريف كردم ولي در متود Session_End() خطا ميده و ميگه كه اين متغيير HttpContext.Current.Application["OnlineUser"] مقدارش  Null هستش؟! 
حتي در Session_Start() متغيير را ميشناسه و يكي هم بهش اضافه مي كنه ولي وقتي بر ميگره به متود Session_End انگار متغيير پاك ميشه و null برمي گردونه. 
ممنون

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • شنبه 28 آذر 1394
  • 11:38

لطفا کد را قرار دهید تا بررسی کنیم

 

کاربر سایت

mojtaba.shayanfar

عضویت از 1394/08/07

  • شنبه 28 آذر 1394
  • 13:53

سلام 

فايل Global را براي بررسي مي فرستادم خدمتتون . 

من بجاي HttpContext.Current.Application["OnlineUser"]  از Application.Add("OnlineUser", 0);  و Application["OnlineUser"] = Application["OnlineUser"] + 1 استفاده مي كنم درست جواب ميده .

آيا اين روش درسته ؟؟ 

ممنون

فایل های ضمیمه

کاربر سایت

mojtaba.shayanfar

عضویت از 1394/08/07

  • شنبه 28 آذر 1394
  • 14:05

سلام

ولي Application["OnlineUser"]  را در كلاس SiteStatistic  نمي شناسه بنابر اين نمي شه از اي روش استفاده كرد.

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • شنبه 28 آذر 1394
  • 14:06
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Optimization;
using System.Web.Routing;
using GSD.Globalization;
using System.Threading;

namespace RadmehrCoSite
{
    public class MvcApplication : System.Web.HttpApplication
    {
        protected void Application_Start()
        {
            
            Application["OnlineUser"] = 0;
            AreaRegistration.RegisterAllAreas();
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);
        }
        protected void Application_BeginRequest(object sender, EventArgs e)
        {
            var persianCulture = new PersianCulture();
            Thread.CurrentThread.CurrentCulture = persianCulture;
            Thread.CurrentThread.CurrentUICulture = persianCulture;
        }
        protected void Session_Start()
        {
            Application["OnlineUser"] = ((int)Application["OnlineUser"] + 1);
            SiteStatistic.CounterState();
        }

        protected void Session_End()
        {
            if (Application["OnlineUser"] != null)
                Application["OnlineUser"] = ((int)Application["OnlineUser"] - 1);
        }
    }
}

 

کاربر سایت

mojtaba.shayanfar

عضویت از 1394/08/07

  • شنبه 28 آذر 1394
  • 15:39

جناب مدائني ضمن تشكر

در كلاس SiteStatistic  كه متود ShowState كه اطلاعات آمار سايت را برمي گردونه ، متغييير Application["OnlineUser"] را نمي شناسه؟!

چه Refrencey بايد اضافه كنيم ؟!

بازم ممنون

 

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)