本文整理汇总了C#中IHttpHandler.Handle方法的典型用法代码示例。如果您正苦于以下问题:C# IHttpHandler.Handle方法的具体用法?C# IHttpHandler.Handle怎么用?C# IHttpHandler.Handle使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IHttpHandler
的用法示例。
在下文中一共展示了IHttpHandler.Handle方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: SendResponse
protected void SendResponse()
{
EndUploads ();
_Logger.DebugFormat ("Data received: {0} bytes", SocketAsyncManager.TotalReceived);
bool closeConnectionAfterSend = true;
if (_request != null)
{
Handler = InitHandler ();
if (Handler != null)
{
_Logger.InfoFormat ("{0} /{1} {2}", _request.Method, _request.Resource, _request.Protocol);
HttpResponse response = Handler.Handle (_request);
if (response != null)
{
byte[] responseData = response.Data;
if (_httpServer.Mode == ServerMode.FastCGI)
responseData = _fcgiInterpreter.TranslateToFCGIResponse (responseData);
SocketAsyncManager.SendAsync (responseData, 0, responseData.Length);
SocketAsyncManager.Clear ();
_request = null;
closeConnectionAfterSend = !response.ConnectionKeepAlive;
} else
{
byte[] h404 = Encoding.Default.GetBytes (string.Format ("HTTP/1.1 {0}\r\n\r\n", HttpResponseStatus._404.ToResponseHeaderText ()));
if (_httpServer.Mode == ServerMode.FastCGI)
h404 = _fcgiInterpreter.TranslateToFCGIResponse (h404);
SocketAsyncManager.SendAsync (h404, 0, h404.Length, true);
}
}
}
SocketAsyncManager.ShouldCloseConnection = closeConnectionAfterSend;
}