В основном вам нужно следующее.
1- Создайте .ashx или .aspx. Предполагая, что вы используете .aspx и называете его StatServer.aspx, функция Page_Load будет считывать строку запроса и записывать данные в базу данных, вы увидите строку запроса на шаге 2. Если вы хотите, вы можете вернуть изображение, которое может быть оказаны. Какой-то грубый код будет выглядеть примерно так.
<pre>
private void Page_Load(object sender, EventArgs e)
{
WriteQueryStringInformationToDB(Request.QueryString);</p>
<pre><code>Image image = LoadYourImageHere();
using (MemoryStream stream = new MemoryStream())
{
base.Response.Clear();
base.Response.ContentType = "image/png";
image.Save(stream, ImageFormat.Png);
stream.WriteTo(base.Response.OutputStream);
base.Response.End();
}
}
2- Это магия, вы создаете небольшой файл .js. В этом файле у вас есть функция, позволяющая вызывать ее mystats (), которая, по сути, будет собирать информацию на стороне клиента и вызывать URL-адрес, содержащий страницу, созданную на шаге 1. Информация на стороне клиента, такая как размер экрана, реферер и т. Д. передал строку запроса. Одна важная вещь, которую нужно включить в функцию - это идентификатор, который указывает, какой счетчик вы обновляете, чтобы вы могли использовать его на нескольких сайтах. Очень простой .js может выглядеть примерно так. (Примечание проверено и т.д ...:))
<pre>
function mystats(id)
{
// Base URL including the ID of the counter
var url="http://yourdomainorservername/statserver.aspx?id="+id;</p>
<pre><code>// Add the referer to the url querystring
url += "&r=" + escape(document.referrer);
// Add screen width + height
url += "&w=" + screen.width + "&h=" + screen.height;
document.write('<img src="'+url+'" border=0 alt="Site statistics">');
}
3- На веб-страницах, к которым вы хотите применить счетчик, вы добавляете блок скрипта, который включает в себя файл .js с вашего сервера и вызывает функцию mystats из тега img, что заставляет код js собирать информация и отправить запрос на ваш сервер, который, в свою очередь, обновляет базу данных и возвращает поток изображений для отображения.