本文整理汇总了C#中IRequestContext.IsRequestVersioned方法的典型用法代码示例。如果您正苦于以下问题:C# IRequestContext.IsRequestVersioned方法的具体用法?C# IRequestContext.IsRequestVersioned怎么用?C# IRequestContext.IsRequestVersioned使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IRequestContext
的用法示例。
在下文中一共展示了IRequestContext.IsRequestVersioned方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: HandleRequest
internal void HandleRequest(IRequestContext context)
{
var gzip = ShouldGZip(context);
var resource = GetResourceInternal(gzip);
DateTime lastModified = resource.GetLastModified().ToUniversalTime();
DateTime ifModifiedSince = (context.IfModifiedSince ?? DateTime.MinValue).ToUniversalTime();
lastModified = RoundToSeconds(lastModified);
ifModifiedSince = RoundToSeconds(ifModifiedSince);
if (lastModified <= ifModifiedSince)
{
context.StatusCode = 304;
context.StatusDescription = "Not Modified";
return;
}
context.LastModified = lastModified;
context.ContentType = resource.ResourceType.ContentType;
if(context.IsRequestVersioned())
{
context.Cacheability = HttpCacheability.Public;
context.Expires = Now().AddYears(1);
}
else
{
if (Mode == ResourceMode.Release)
{
context.Cacheability = HttpCacheability.Public;
//TODO: Consider making this configurable
context.Expires = Now().AddDays(7);
}
}
if(gzip)
{
context.ContentEncoding = "gzip";
context.Vary = "Content-Encoding";
}
resource.WriteContent(context.OutputStream);
}