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
OK, fruktansvärt dokumenterad, men det fungerar ... detta är bara källan för en liten HttpModule som spår träffar till en .TEXT blogg - ganska enkelt men bör ge alla som vill göra det en start. Jag kommer att posta en mer komplett version någon gång (främst bara vill testa hur denna hud beter sig med postad kod ;-))
Användning av systemet.
Använda System.Web.
Användning av System.Data.
Använda System.Data.SqlClient.
Använda Dottext.Framework.
Användning av System.Samlingar.Specialiserad.
Användning av System.IO.
Användning av System.Text.
Använda System.Xml.Serialization.
Använda System.Thlästring.
Använda System.Net.
Använda Microsoft.ApplicationBlocks.Data.
namnrymd ExtraControls
{
///
/// Sammanfattning för ViewTrackModule.
///
publik klass ViewTrackModule : IHttpModule
{
#Region IHttpModule Ledamöter
offentligt ogiltigt Init(HttpAnsökningssammanhang)
{
context.EndRequest += new EventHandler(context_EndRequest);
}
offentligt ogiltigt Kassera()
{
// TODO: Lägg till ViewTrackModule. dispose implementation
}
#slutregion
///
// Ok, lite ovanlig... men jag behöver BlogConfig objektet för att vara tillgänglig för DB tillgång...
///
///
///
Privata ogiltiga sammanhang_EndRequest(objektavsändare, EventArgs e)
{
HttpApp httpApp = avsändare som HttpApp;
System.Uri ur = httpApp.Request.UrlReferrer;
strängtestHost = sträng.Empty;
sträng thisHost = httpApp.Request.ServerVariables["SERVATÖR"NÄMTA";
Om (ur!= null)
{
TestHost = ur.Host;
}
Om (testHost != dettaHost)
{
HttpRequest re = httpApp.Request;
LogToDBDel del = nytt LogToDBDel(LogToDB);
IAsyncResultat ar = del.BeginInvoke(re,null,null);
}
}
Privat delegat tom LogToDBDel(HttpRequest re);
privat tomrum LogToDB(HttpRequest re)
{
sträng m_connectionString = Dottext.Framework.Configuration.BlogConfigurationInställningar.Instans().BlogProviders.DbProvider.ConnectionString;
strängklienterIP = re.UserHostAdress;
om(!clientIP.Börjar med("192.") & & &!clientIP.Börjar med("10."))
{
strängklientUserAgent = re.UserAgent;
strängklientReferer = re.ServerVariables["HTTP Ordförande"Hänvisaren";
strängklientHostName = string.Empty;
försök
{
clientHostName = Dns.GetHostByAdress(clientIP).HostName;
}
Fångst (Undantag)
{
clientHostName = re.UserHostName;
}
strängklientQueryString = re.RawUrl;
SqlParameter[] sqlParams = SqlHelperParameterCache.GetSpParameterSet(m_connectionString, "pr_Blog_SparaEntryStates");
SqlParams[Värde = clientIP;
SqlParams[1].Värde = klientAnvändaragent;
SqlParams[2].Värde = klientHostName;
SqlParams[3].Värde = klientQueryString;
SqlParams[4) Värde = Datumtid.Nu;
SqlParams[5].Värde = klientReferer;
försök
{
SqlHelper.ExecuteNonQuery(m_connectionString, CommandType.StoredProcedure, "pr_Blog_SparaEntryStates", sqlParams)
}
Fångst (Undantag)
{
}
}
}
}
}
Som vanligt, detta behöver en post i web.config för att kroka i modulen:
<httpModules> <lägga till namn="RequestLogger" type="ExtraControls.ViewTrackModule, ExtraControls" /> </httpModules>
© 2026 Scott Galloway — Unlicense — All content and source code on this site is free to use, copy, modify, and sell.