本文整理汇总了C#中System.Web.SessionState.HttpSessionState.ToDictionary方法的典型用法代码示例。如果您正苦于以下问题:C# HttpSessionState.ToDictionary方法的具体用法?C# HttpSessionState.ToDictionary怎么用?C# HttpSessionState.ToDictionary使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Web.SessionState.HttpSessionState
的用法示例。
在下文中一共展示了HttpSessionState.ToDictionary方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CreateFromHttpRequest
/// <summary>
/// Converts a standard <see cref="HttpRequest"/> to a <see cref="RequestModel"/>
/// Copies over: URL, HTTP method, HTTP headers, query string params, POST params, user IP, route params
/// </summary>
/// <param name="request"></param>
/// <param name="session"></param>
/// <param name="scrubParams"></param>
/// <returns></returns>
public static RequestModel CreateFromHttpRequest(HttpRequest request, HttpSessionState session, string[] scrubParams = null)
{
var m = new RequestModel();
m.Url = request.Url.ToString();
m.Method = request.HttpMethod;
m.Headers = request.Headers.ToDictionary();
m.Session = session.ToDictionary();
m.QueryStringParameters = request.QueryString.ToDictionary();
m.PostParameters = request.Form.ToDictionary();
// add posted files to the post collection
if (request.Files.Count > 0)
foreach (var file in request.Files.Describe())
m.PostParameters.Add(file.Key, "FILE: " + file.Value);
// if the X-Forwarded-For header exists, use that as the user's IP.
// that will be the true remote IP of a user behind a proxy server or load balancer
m.UserIp = IpFromXForwardedFor(request) ?? request.UserHostAddress;
m.Parameters = request.RequestContext.RouteData.Values.ToDictionary(v => v.Key, v => v.Describe());
if (scrubParams != null)
{
m.Headers = Scrub(m.Headers, scrubParams);
m.Session = Scrub(m.Session, scrubParams);
m.QueryStringParameters = Scrub(m.QueryStringParameters, scrubParams);
m.PostParameters = Scrub(m.PostParameters, scrubParams);
}
return m;
}