| | |
ASP .NET hit counter?
Please support our ASP.NET advertiser: Intel Parallel Studio Home
![]() |
ok I used the global.asax page for this one, got this information off www.4guysfromrolla.com, good site.
Sub Application_Start(ByVal sender AsObject, ByVal e As EventArgs)
'This variable Hits will store the # of visitors
Application("Hits") = 0
EndSub
Sub Session_Start(ByVal sender AsObject, ByVal e As EventArgs)
'Lock the Application for concurrency issues
Application.Lock()
'Increment the counter
Application("Hits") = Application("Hits") + 1
'Unlock the Application
Application.UnLock()
EndSub
Now to declare it in my webform...
This page has been viewed
<%=application("Hits")%>
times.
Ok guys, this works but I would not by any means recommend it because it resests itself every time you rebuild the project, plus it resets whenever the server your site is on reboots or restarts, if anyone has a better alternative to this, please let me know. The next question I have is how do I replace the number on the hit counter, with a graphic, say it said 2 people have visited the page in plain text, I want that "2" to be an image of a 2, I've found a little on this but it's not working. Will post back if I find anything out.
Sub Application_Start(ByVal sender AsObject, ByVal e As EventArgs)
'This variable Hits will store the # of visitors
Application("Hits") = 0
EndSub
Sub Session_Start(ByVal sender AsObject, ByVal e As EventArgs)
'Lock the Application for concurrency issues
Application.Lock()
'Increment the counter
Application("Hits") = Application("Hits") + 1
'Unlock the Application
Application.UnLock()
EndSub
Now to declare it in my webform...
This page has been viewed
<%=application("Hits")%>
times.
Ok guys, this works but I would not by any means recommend it because it resests itself every time you rebuild the project, plus it resets whenever the server your site is on reboots or restarts, if anyone has a better alternative to this, please let me know. The next question I have is how do I replace the number on the hit counter, with a graphic, say it said 2 people have visited the page in plain text, I want that "2" to be an image of a 2, I've found a little on this but it's not working. Will post back if I find anything out.
Are you fermiliar with GDI+ in .NET? What you need to do is make a dynamic image. Make a new webform, give it an image content type, and in the page's code, create the graphic (using the hitcount you want), do a Response.Flush(), and then then write the Graphic using Response.Write (Maybe WriteStream). Then, in your webpage, just do <img> tags to your dynamic image webform ;-).
-Ryan Hoffman
.NET Specialist / Webmaster, Extended64.com.
Please do not email or PM me with support questions. Please direct them to the forums instead.
.NET Specialist / Webmaster, Extended64.com.
Please do not email or PM me with support questions. Please direct them to the forums instead.
-Ryan Hoffman
.NET Specialist / Webmaster, Extended64.com.
Please do not email or PM me with support questions. Please direct them to the forums instead.
.NET Specialist / Webmaster, Extended64.com.
Please do not email or PM me with support questions. Please direct them to the forums instead.
Also, to make the hitcount perminate, you'll want to use a file, a database, or registry key to keep track of the hitcount ;-).
-Ryan Hoffman
.NET Specialist / Webmaster, Extended64.com.
Please do not email or PM me with support questions. Please direct them to the forums instead.
.NET Specialist / Webmaster, Extended64.com.
Please do not email or PM me with support questions. Please direct them to the forums instead.
Ok, I have been trying to find where I can make a vb.net perminant hit counter, most are by using text files (and I would definitely prefer them over a database). My problem now is, I can't find any code to make one! The little code I can find is poorly explained and I was wondering if one of you guys could maybe help me out here. God Bless!:cry:
Fixed this one also guys. Here is the code for my hit counter. There was also some code to create .gif images for the number images on the fly but... it proved a little difficult, I'll probably put them in version two of the website. The company website is nearly up
the boss loves it, I'll keep you guys updated so I can get some feedback on my work, thanks! Here is the code
and of course, don't forget the "Imports System.IO" (no quotations) at the top of the code. Happy coding guys! Thanks again Tekmaven!
Slade :cheesy:
the boss loves it, I'll keep you guys updated so I can get some feedback on my work, thanks! Here is the codePrivateSub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesMyBase.Load IfNot Page.IsPostBack Then Dim nCount As Int32 = 0 nCount = GetCounterValue() lblTest.Text = nCount.ToString() EndIf EndSub PrivateFunction GetCounterValue() As Int32 Dim ctrFile As StreamReader Dim ctrFileW As FileStream Dim sw As StreamWriter Dim strPath AsString = Server.MapPath("indexcount.txt") Dim strCounterContents AsString Dim nCounter As Int32 If (File.Exists(strPath)) Then ctrFile = File.OpenText(strPath) strCounterContents = ctrFile.ReadLine().ToString() ctrFile.Close() nCounter = Convert.ToInt32(strCounterContents) Else nCounter = 0 EndIf nCounter += 1 ctrFileW = New FileStream(strPath, FileMode.OpenOrCreate, FileAccess.Write) sw = New StreamWriter(ctrFileW) sw.WriteLine(Convert.ToString(nCounter)) sw.Close() ctrFileW.Close() Return nCounter EndFunction
Slade :cheesy:
•
•
Join Date: Sep 2006
Posts: 11
Reputation:
Solved Threads: 0
But how to do the same in C#. For instance :
int hits = Int32.Parse(Application["Hits"]);
Will create a error
Error 2 Argument '1': cannot convert from 'object' to 'string' E:\Sh\ASP\cS HitCounter\Global.asax 26 32 E:\...\cS HitCounter\
int hits = Int32.Parse(Application["Hits"]);
Will create a error
Error 2 Argument '1': cannot convert from 'object' to 'string' E:\Sh\ASP\cS HitCounter\Global.asax 26 32 E:\...\cS HitCounter\
•
•
•
•
ok I used the global.asax page for this one, got this information off www.4guysfromrolla.com, good site.
Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
'This variable Hits will store the # of visitors
Application("Hits") = 0
End Sub
Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)
'Lock the Application for concurrency issues
Application.Lock()
'Increment the counter
Application("Hits") = Application("Hits") + 1
'Unlock the Application
Application.UnLock()
End Sub
Now to declare it in my webform...
This page has been viewed
<%=application("Hits")%>
times.
Ok guys, this works but I would not by any means recommend it because it resests itself every time you rebuild the project, plus it resets whenever the server your site is on reboots or restarts, if anyone has a better alternative to this, please let me know. The next question I have is how do I replace the number on the hit counter, with a graphic, say it said 2 people have visited the page in plain text, I want that "2" to be an image of a 2, I've found a little on this but it's not working. Will post back if I find anything out.
•
•
•
•
But how to do the same in C#. For instance :
int hits = Int32.Parse(Application["Hits"]);
Will create a error
Error 2 Argument '1': cannot convert from 'object' to 'string' E:\Sh\ASP\cS HitCounter\Global.asax 26 32 E:\...\cS HitCounter\
int hits = Int32.Parse(Application["Hits"].ToString());
but
int hits = (int)Application["Hits"];
would be better because the object is already an int
•
•
Join Date: Jun 2007
Posts: 1
Reputation:
Solved Threads: 0
Write this code to your global.asax
Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
Application.Lock()
Application("counter") = Application("counter") + 1
Application.UnLock()
End Sub
and write these lines in your default homepage
<%
Application.Lock()
Application("counter") = CType(Application("counter") + 1, Int32)
Application.UnLock()
%>
Everything will be fine then.
Enjoy the weekend.
Dileep
dileep@active-technologies.net
Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
Application.Lock()
Application("counter") = Application("counter") + 1
Application.UnLock()
End Sub
and write these lines in your default homepage
<%
Application.Lock()
Application("counter") = CType(Application("counter") + 1, Int32)
Application.UnLock()
%>
Everything will be fine then.
Enjoy the weekend.
Dileep
dileep@active-technologies.net
![]() |
Similar Threads
- ASP.Net perm full time programmer wanted (Web Development Job Offers)
- Front-End Developer with ASP.net needed!!! (Web Development Job Offers)
- Experience ASP.net with C# developer needed!! (Web Development Job Offers)
- ASP.Net / C# Web Developer (Web Development Job Offers)
Other Threads in the ASP.NET Forum
- Previous Thread: validate databound dropdowlnlist
- Next Thread: How to Insert Data into Database
| Thread Tools | Search this Thread |
.net 2.0 3.5 activexcontrol advice ajax alltypeofvideos asp asp.net bc30451 bottomasp.net browser businesslogiclayer button c# c#gridviewcolumn checkbox child click commonfunctions compatible confirmationcodegeneration content contenttype courier css dataaccesslayer database datagrid datagridview datagridviewcheckbox datalist deadlock development dgv dropdownlist dropdownmenu edit expose feedback flash flv form formatdecimal forms formview grid gridview homeedition hosting iframe iis javascript jquery listbox login menu microsoft mono mouse mssql multistepregistration nameisnotdeclared news numerical objects order panelmasterpagebuttoncontrols radio ratings rotatepage save schoolproject search security serializesmo.table silverlight smartcard sql-server sqlserver2005 suse textbox tracking typeof unauthorized validation vb.net video videos view virtualdirectory vista visual-studio visualstudio web webarchitecture webdevelopemnt webservice xml youareanotmemberofthedebuggerusers





