This is a viewer only at the moment see the article on how this works.
To update the preview hit Ctrl-Alt-R (or ⌘-Alt-R on Mac) or Enter to refresh. The Save icon lets you save the markdown file to disk
This is a preview from the server running through my markdig pipeline
Tuesday, 06 July 2004
Okei, hirveästi dokumentoitu, mutta se toimii...tämä on vain pienen HttpModulen lähde, joka osuu .TEXT-blogiin - aika yksinkertainen, mutta pitäisi antaa kaikille, jotka haluavat tehdä sen. Julkaisen jossain vaiheessa täydellisemmän version (lähinnä haluan vain testata, miten tämä iho käyttäytyy lähetetyllä koodilla ;-))
Järjestelmän käyttö;
System.Web:n käyttö;
Käyttämällä System.Dataa;
käyttää System.Data.SqlClient -järjestelmää;
Dottextin käyttö. Framework;
Käyttämällä System.Collections.Erityinen;
System.IO:n käyttö;
Käyttämällä System.Text;
Käyttämällä System.Xml.Serialisointia;
Käyttämällä System.Threading;
käyttää System.Netiä;
Microsoft.ApplicationBlocks.Data;
namespace ExtraControls
{
///
/// Yhteenveto kuvaus ViewTrackModulesta.
///
Yleisön luokka ViewTrackModule : IHttpModule
{
#alue IHttpModulen jäsenet
Julkisuustyhjiö Init(HttpApplication konteksti)
{
Context.EndRequest + = uusi EventHandler (konteksti)_EndRequest);
}
Julkinen tyhjiö Hävitä()
{
// TODO: Lisää ViewTrackModule.
}
#endregion
///
/// Okei, hieman epätavallista... mutta tarvitsen BlogConfig-objektin DB:n käyttöön...
///
///
///
yksityinen tyhjä konteksti_EndRequest(kohdelähettäjä, EventArgs e)
{
Http-sovellus httpApp = lähettäjä Http-sovelluksena;
Järjestelmä.Uri ur = httpApp.Request.UrlReferer;
JousitestiHost = jousi.Tyhjä;
String thisHost = httpApp.Request.ServerVariables["SERVERI_NAME"]
if(ur ! = nolla)
{
TestHost = ur.Host;
}
if(testHost!= thisHost)
{
HttpRequest re = httpApp.Request;
LogToDBDel del = uusi LogToDBDel (LogToDB);
IAsyncResult ar = del.BeginInvoke(re, null, null);
}
}
yksityinen valtuutettu mitätöi LogToDBDel-pyynnön (HttpRequest re)
Private Tyhjennä LogToDB(HttpRequest re)
{
merkkijono m_LiitäntäString = Dottext.Framework.Configuration.BlogConfigurationStrings.Instance().BlogProviders.DbProvider.ConnectionString;
String clientIP = re.UserHostAddress;
if( .asiakasIP.StartsWith('192.) && !asiakasIP.StartsWith('10.'))
{
String clientUserAgent = re.UserAgent;
String clientReferer = re.ServerVariables["HTTP_REFER"]
String clientHostName = string.Empty;
kokeile
{
clientHostName = Dns.GetHostByAddress(ClientIP).HostName;
}
Saaliit(Poikkeus)
{
clientHostName = re.UserHostName;
}
String clientQueryString = re.RawUrl;
SqlParametri[] sqlParams = SqlHelperParameterCache.GetSpParameterSet(m)_Liitä string, "pr_Blog_TallennaEntryStats"
SqlParams[0]Arvo = clientIP;
SqlParams[1]Arvo = clientUserAgent;
SqlParams[2.Arvo = clientHostName;
SqlParams[3.Arvo = clientQueryString;
SqlParams[4]Arvoisa = DateTime.Nyt;
SqlParams[5.Arvo = ClientReferer;
kokeile
{
SqlHelper.ExecuteNonQuery(m_LiitäntäString, Komentotyyppi.StoredProcedure, "pr_Blog_SaveEntryStats, sqlParams) ;
}
Saaliit(Poikkeus)
{
}
}
}
}
}
Kuten tavallista, tämä tarvitsee maininnan web.config-palveluun kytkeäkseen moduulin:
<httpModules> <Lisää nimi="RequestLogger" type="ExtraControls.ViewTrackModule, ExtraControls"/> <Modules-lehti kertoo:>
© 2026 Scott Galloway — Unlicense — All content and source code on this site is free to use, copy, modify, and sell.