本文整理汇总了C#中Microsoft.AspNet.Http.HttpContext.GetLogRequestId方法的典型用法代码示例。如果您正苦于以下问题:C# HttpContext.GetLogRequestId方法的具体用法?C# HttpContext.GetLogRequestId怎么用?C# HttpContext.GetLogRequestId使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Microsoft.AspNet.Http.HttpContext
的用法示例。
在下文中一共展示了HttpContext.GetLogRequestId方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ProcessRequest
private void ProcessRequest(HttpContext context)
{
var headers = ToDictionary(context.Request.Headers);
string urlReferrer = headers.SafeGet("Referer");
string url = context.Request.GetDisplayUrl();
var logRequestBase = new LogRequestBase(
userAgent: headers.SafeGet("User-Agent"),
userHostAddress: context.GetUserIp(),
requestId: context.GetLogRequestId(),
url: (urlReferrer ?? url).ToString(),
queryParameters: ToDictionary(context.Request.Query),
cookies: ToDictionary(context.Request.Cookies),
headers: headers);
DateTime serverSideTimeUtc = DateTime.UtcNow;
string httpMethod = context.Request.Method;
string origin = headers.SafeGet("Origin");
Encoding encoding = HttpHelpers.GetEncoding(headers.SafeGet("Content-Type"));
string json;
using (var reader = new StreamReader(context.Request.Body, encoding))
{
json = reader.ReadToEnd();
}
var response = new LogResponse();
LoggerProcessor.ProcessLogRequest(json, logRequestBase,
serverSideTimeUtc,
httpMethod, origin, response);
// Send dummy response. That way, the log request will not remain "pending"
// in eg. Chrome dev tools.
//
// This must be given a MIME type of "text/plain"
// Otherwise, the browser may try to interpret the empty string as XML.
// When the user uses Firefox, and right clicks on the page and chooses "Inspect Element",
// then in that debugger's console it will say "no element found".
// See
// http://www.acnenomor.com/307387p1/how-do-i-setup-my-ajax-post-request-to-prevent-no-element-found-on-empty-response
// http://stackoverflow.com/questions/975929/firefox-error-no-element-found/976200#976200
ToAspNet5Response(response, context.Response);
context.Response.ContentType = "text/plain";
context.Response.ContentLength = 0;
}