blob: 7981530794f40e06fefbdcb03ac0584e69fb881d [file] [log] [blame]
<html dir="LTR">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252" />
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5" />
<title>UserName Property</title>
<xml>
</xml>
<link rel="stylesheet" type="text/css" href="MSDN.css" />
</head>
<body id="bodyID" class="dtBODY">
<div id="nsbanner">
<div id="bannerrow1">
<table class="bannerparthead" cellspacing="0">
<tr id="hdr">
<td class="runninghead">Apache log4net� SDK Documentation - Microsoft .NET Framework 4.0</td>
<td class="product">
</td>
</tr>
</table>
</div>
<div id="TitleRow">
<h1 class="dtH1">LoggingEvent.UserName Property</h1>
</div>
</div>
<div id="nstext">
<p> Gets the name of the current user. </p>
<div class="syntax">
<span class="lang">[Visual�Basic]</span>
<br />Public�ReadOnly�Property�UserName�As�<a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemStringClassTopic.htm">String</a></div>
<div class="syntax">
<span class="lang">[C#]</span>
<br />public�<a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemStringClassTopic.htm">string</a>�UserName�{get;}</div>
<p>
</p>
<h4 class="dtH4">Property Value</h4>
<p> The name of the current user, or <code>NOT AVAILABLE</code> when the underlying runtime has no support for retrieving the name of the current user. </p>
<h4 class="dtH4">Remarks</h4>
<p> Calls <code>WindowsIdentity.GetCurrent().Name</code> to get the name of the current windows user. </p>
<p> To improve performance, we could cache the string representation of the name, and reuse that as long as the identity stayed constant. Once the identity changed, we would need to re-assign and re-render the string. </p>
<p> However, the <code>WindowsIdentity.GetCurrent()</code> call seems to return different objects every time, so the current implementation doesn't do this type of caching. </p>
<p> Timing for these operations: </p>
<div class="tablediv"><table class="dtTABLE" cellspacing="0"><tr valign="top">
<th width="50%">Method</th>
<th width="50%">Results</th>
</tr><tr valign="top">
<td><code>WindowsIdentity.GetCurrent()</code></td>
<td>10000 loops, 00:00:00.2031250 seconds</td>
</tr><tr valign="top">
<td><code>WindowsIdentity.GetCurrent().Name</code></td>
<td>10000 loops, 00:00:08.0468750 seconds</td>
</tr></table></div>
<p> This means we could speed things up almost 40 times by caching the value of the <code>WindowsIdentity.GetCurrent().Name</code> property, since this takes (8.04-0.20) = 7.84375 seconds. </p>
<h4 class="dtH4">See Also</h4><p><a href="log4net.Core.LoggingEvent.html">LoggingEvent Class</a> | <a href="log4net.Core.html">log4net.Core Namespace</a></p><object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e" viewastext="true" style="display: none;"><param name="Keyword" value="UserName property"></param><param name="Keyword" value="UserName property, LoggingEvent class"></param><param name="Keyword" value="LoggingEvent.UserName property"></param></object><hr /><div id="footer"><a href='http://logging.apache.org/log4net/'>Copyright 2004-2013 The Apache Software Foundation.</a><br></br>Apache log4net, Apache and log4net are trademarks of The Apache Software Foundation.</div></div>
</body>
</html>