本文整理汇总了C#中Sitecore.GetStream方法的典型用法代码示例。如果您正苦于以下问题:C# Sitecore.GetStream方法的具体用法?C# Sitecore.GetStream怎么用?C# Sitecore.GetStream使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Sitecore
的用法示例。
在下文中一共展示了Sitecore.GetStream方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: DoProcessRequest
protected override bool DoProcessRequest(HttpContext context, MediaRequest request, Sitecore.Resources.Media.Media media)
{
Assert.ArgumentNotNull((object)context, "context");
Assert.ArgumentNotNull((object)request, "request");
Assert.ArgumentNotNull((object)media, "media");
if (this.Modified(context, media, request.Options) == Tristate.False)
{
Event.RaiseEvent("media:request", new object[1]
{
(object) request
});
this.SendMediaHeaders(media, context);
context.Response.StatusCode = 304;
return true;
}
this.ProcessImageDimensions(request, media);
MediaStream stream = media.GetStream(request.Options);
if (stream == null)
return false;
Event.RaiseEvent("media:request", new object[1]
{
(object) request
});
if (Settings.Media.EnableRangeRetrievalRequest && Settings.Media.CachingEnabled)
{
using (stream)
{
this.SendMediaHeaders(media, context);
new RangeRetrievalResponse(RangeRetrievalRequest.BuildRequest(context, media), stream).ExecuteRequest(context);
return true;
}
}
else
{
this.SendMediaHeaders(media, context);
this.SendStreamHeaders(stream, context);
using (stream)
{
context.Response.AddHeader("Content-Length", stream.Stream.Length.ToString());
WebUtil.TransmitStream(stream.Stream, context.Response, Settings.Media.StreamBufferSize);
}
return true;
}
}