本文整理汇总了C#中System.Web.HttpWorkerRequest.SendResponseFromMemory方法的典型用法代码示例。如果您正苦于以下问题:C# HttpWorkerRequest.SendResponseFromMemory方法的具体用法?C# HttpWorkerRequest.SendResponseFromMemory怎么用?C# HttpWorkerRequest.SendResponseFromMemory使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Web.HttpWorkerRequest
的用法示例。
在下文中一共展示了HttpWorkerRequest.SendResponseFromMemory方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: IntPtr
void IHttpResponseElement.Send(HttpWorkerRequest wr)
{
if (this._size > 0)
{
bool isBufferFromUnmanagedPool = false;
wr.SendResponseFromMemory(new IntPtr(this._data.ToInt64() + this._offset), this._size, isBufferFromUnmanagedPool);
}
}
开发者ID:pritesh-mandowara-sp,项目名称:DecompliedDotNetLibraries,代码行数:8,代码来源:HttpResourceResponseElement.cs
示例2:
void IHttpResponseElement.Send(HttpWorkerRequest wr)
{
int length = base._size - base._free;
if (length > 0)
{
wr.SendResponseFromMemory(this._data, length);
}
}
示例3: Redirect
static void Redirect (HttpWorkerRequest wr, string location)
{
string host = wr.GetKnownRequestHeader (HttpWorkerRequest.HeaderHost);
wr.SendStatus (301, "Moved Permanently");
wr.SendUnknownResponseHeader ("Connection", "close");
wr.SendUnknownResponseHeader ("Date", DateTime.Now.ToUniversalTime ().ToString ("r"));
wr.SendUnknownResponseHeader ("Location", String.Format ("{0}://{1}{2}", wr.GetProtocol(), host, location));
Encoding enc = Encoding.ASCII;
wr.SendUnknownResponseHeader ("Content-Type", "text/html; charset=" + enc.WebName);
string content = String.Format (CONTENT301, host, location);
byte [] contentBytes = enc.GetBytes (content);
wr.SendUnknownResponseHeader ("Content-Length", contentBytes.Length.ToString ());
wr.SendResponseFromMemory (contentBytes, contentBytes.Length);
wr.FlushResponse (true);
wr.CloseConnection ();
}
示例4: IntPtr
/*
* Write HttpWorkerRequest
*/
void IHttpResponseElement.Send(HttpWorkerRequest wr) {
if (_size > 0) {
wr.SendResponseFromMemory(new IntPtr(_data.ToInt64()+_offset), _size, isBufferFromUnmanagedPool: false);
}
}
示例5:
/*
* Write HttpWorkerRequest
*/
void IHttpResponseElement.Send(HttpWorkerRequest wr) {
int n = _size - _free;
if (n > 0) {
wr.SendResponseFromMemory(_data, n, true);
}
#if DBG
Debug.Trace("UnmanagedBuffers", "Sending data, byteCount=" + n + ", freeBytes=" + _free);
#endif
}
示例6: SendContent
internal void SendContent (HttpWorkerRequest Handler)
{
FlushBuffers();
int l = (int)_OutputStream.Length;
if (l > 0) {
byte [] arrContent = _OutputStream.GetInternalBuffer ();
Handler.SendResponseFromMemory (arrContent, l);
}
}
示例7: FinishUnavailable
//
// This is called from the QueueManager if a request
// can not be processed (load, no resources, or
// appdomain unload).
//
static internal void FinishUnavailable (HttpWorkerRequest wr)
{
wr.SendStatus (503, "Service unavailable");
wr.SendUnknownResponseHeader ("Connection", "close");
Encoding enc = Encoding.ASCII;
wr.SendUnknownResponseHeader ("Content-Type", "text/html; charset=" + enc.WebName);
byte [] contentBytes = enc.GetBytes (content503);
wr.SendUnknownResponseHeader ("Content-Length", contentBytes.Length.ToString ());
wr.SendResponseFromMemory (contentBytes, contentBytes.Length);
wr.FlushResponse (true);
wr.CloseConnection ();
HttpApplication.requests_total_counter.Increment ();
}
示例8: FinishWithException
static void FinishWithException (HttpWorkerRequest wr, HttpException e)
{
int code = e.GetHttpCode ();
wr.SendStatus (code, HttpWorkerRequest.GetStatusDescription (code));
wr.SendUnknownResponseHeader ("Connection", "close");
Encoding enc = Encoding.ASCII;
wr.SendUnknownResponseHeader ("Content-Type", "text/html; charset=" + enc.WebName);
string msg = e.GetHtmlErrorMessage ();
byte [] contentBytes = enc.GetBytes (msg);
wr.SendUnknownResponseHeader ("Content-Length", contentBytes.Length.ToString ());
wr.SendResponseFromMemory (contentBytes, contentBytes.Length);
wr.FlushResponse (true);
wr.CloseConnection ();
HttpApplication.requests_total_counter.Increment ();
}
示例9: UnsafeWrite
unsafe void UnsafeWrite (HttpWorkerRequest wr, byte [] buffer, int offset, int count)
{
fixed (byte *ptr = buffer) {
wr.SendResponseFromMemory ((IntPtr) (ptr + offset), count);
}
}
示例10: Send
public void Send (HttpWorkerRequest wr, int start, int end) {
int length = end - start;
if (length <= 0)
return;
if (length > buffer.Length - start)
length = buffer.Length - start;
if (start > 0) {
byte[] temp = new byte[length];
Array.Copy(buffer, start, temp, 0, length);
buffer = temp;
}
wr.SendResponseFromMemory(buffer, length);
}
示例11: ProcessRequestInternal
private void ProcessRequestInternal(HttpWorkerRequest wr)
{
Interlocked.Increment(ref this._activeRequestCount);
if (this._disposingHttpRuntime)
{
try
{
wr.SendStatus(503, "Server Too Busy");
wr.SendKnownResponseHeader(12, "text/html; charset=utf-8");
byte[] bytes = Encoding.ASCII.GetBytes("<html><body>Server Too Busy</body></html>");
wr.SendResponseFromMemory(bytes, bytes.Length);
wr.FlushResponse(true);
wr.EndOfRequest();
}
finally
{
Interlocked.Decrement(ref this._activeRequestCount);
}
}
else
{
HttpContext context;
try
{
context = new HttpContext(wr, false);
}
catch
{
try
{
wr.SendStatus(400, "Bad Request");
wr.SendKnownResponseHeader(12, "text/html; charset=utf-8");
byte[] bytes = Encoding.ASCII.GetBytes("<html><body>Bad Request</body></html>");
wr.SendResponseFromMemory(bytes, bytes.Length);
wr.FlushResponse(true);
wr.EndOfRequest();
return;
}
finally
{
Interlocked.Decrement(ref this._activeRequestCount);
}
}
wr.SetEndOfSendNotification(this._asyncEndOfSendCallback, (object) context);
HostingEnvironment.IncrementBusyCount();
try
{
try
{
this.EnsureFirstRequestInit(context);
}
catch
{
if (!context.Request.IsDebuggingRequest)
throw;
}
context.Response.InitResponseWriter();
IHttpHandler applicationInstance = HttpApplicationFactory.GetApplicationInstance(context);
if (applicationInstance == null)
throw new HttpException(System.Web.SR.GetString("Unable_create_app_object"));
if (EtwTrace.IsTraceEnabled(5, 1))
EtwTrace.Trace(EtwTraceType.ETW_TYPE_START_HANDLER, context.WorkerRequest, applicationInstance.GetType().FullName, "Start");
if (applicationInstance is IHttpAsyncHandler)
{
IHttpAsyncHandler httpAsyncHandler = (IHttpAsyncHandler) applicationInstance;
context.AsyncAppHandler = httpAsyncHandler;
httpAsyncHandler.BeginProcessRequest(context, this._handlerCompletionCallback, (object) context);
}
else
{
applicationInstance.ProcessRequest(context);
this.FinishRequest(context.WorkerRequest, context, (Exception) null);
}
}
catch (Exception ex)
{
context.Response.InitResponseWriter();
this.FinishRequest(wr, context, ex);
}
}
}
示例12: Send
public override void Send (HttpWorkerRequest wr)
{
if (_position == 0)
return;
wr.SendResponseFromMemory (buffer, 0, _position, _encoding);
}
示例13: Send
public void Send (HttpWorkerRequest wr, int start, int end)
{
if (end - start <= 0)
return;
wr.SendResponseFromMemory ((IntPtr) (data + start), end - start);
}