本文整理汇总了C#中System.Net.HttpListenerContext.GetIfModifiedSince方法的典型用法代码示例。如果您正苦于以下问题:C# HttpListenerContext.GetIfModifiedSince方法的具体用法?C# HttpListenerContext.GetIfModifiedSince怎么用?C# HttpListenerContext.GetIfModifiedSince使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Net.HttpListenerContext
的用法示例。
在下文中一共展示了HttpListenerContext.GetIfModifiedSince方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Run
/// <summary>
///
/// </summary>
/// <param name="server"></param>
/// <param name="callcontext"></param>
/// <param name="callbackEndPoint"></param>
/// <param name="cancel"></param>
public void Run(IHostServer server, HttpListenerContext callcontext, string callbackEndPoint, CancellationToken cancel){
var abspath = callcontext.Request.Url.AbsolutePath;
if (string.IsNullOrWhiteSpace(abspath) || abspath == "/") {
abspath = DefaultPage;
}
var staticdescriptor = server.Static.Get(abspath, callcontext);
if (null == staticdescriptor){
callcontext.Finish("no file found", "text/plain; charset=utf-8", status: 404);
return;
}
var filetime = callcontext.SetLastModified(staticdescriptor.GetLastVersion());
if (filetime <= callcontext.GetIfModifiedSince())
{
callcontext.Finish("", status: 304);
}
else
{
callcontext.Response.AddHeader("Qorpent-Disposition",staticdescriptor.FullName);
if (staticdescriptor.IsFixedContent){
callcontext.Finish(staticdescriptor.FixedContent, staticdescriptor.MimeType + "; charset=utf-8");
}
else{
using (var s = staticdescriptor.Open()) {
callcontext.Finish(s, staticdescriptor.MimeType + "; charset=utf-8");
s.Close();
}
}
}
}