当前位置: 首页>>代码示例>>C#>>正文


C# HttpApplication.ProcessRequest方法代码示例

本文整理汇总了C#中HttpApplication.ProcessRequest方法的典型用法代码示例。如果您正苦于以下问题:C# HttpApplication.ProcessRequest方法的具体用法?C# HttpApplication.ProcessRequest怎么用?C# HttpApplication.ProcessRequest使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在HttpApplication的用法示例。


在下文中一共展示了HttpApplication.ProcessRequest方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: btnStart_Click

        private void btnStart_Click(object sender, EventArgs e)
        {
            //1创建socket对象
            Socket socket = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);

            var ip=  Dns.GetHostAddresses(Dns.GetHostName()).SingleOrDefault(ipAddress =>
                ipAddress.AddressFamily == AddressFamily.InterNetwork);

            socket.Bind(new IPEndPoint(ip, Convert.ToInt32(txtPort.Text)));

            //2开启侦听:侦听浏览器发来的连接请求
            socket.Listen(10);

            //3处理浏览器的连接请求 由于浏览器请求无状态,所以请求完了就关闭连接
            ThreadPool.QueueUserWorkItem((obj) =>
            {
                //保存浏览器发来的请求报文
                byte[] msg = new byte[1024 * 1024];

                while (true)
                {
                    //给浏览器的连接请求指派代理套接字和其通信
                    var proxySocket = socket.Accept();

                    //获取浏览器的请求报文
                    int realLength = proxySocket.Receive(msg, SocketFlags.None);
                    string requestContext = Encoding.UTF8.GetString(msg, 0, realLength);

                    //根据请求报文创建http请求的上下文
                    HttpContext context = new HttpContext(requestContext);

                    //处理当前http请求
                    HttpApplication application = new HttpApplication();
                    application.ProcessRequest(context);

                    //返回请求的结果
                    proxySocket.Send(context.HttpResponse.Header);
                    proxySocket.Send(context.HttpResponse.Body);

                    //关掉当前连接
                    proxySocket.Shutdown(SocketShutdown.Both);
                    proxySocket.Close();
                }

            }, null);
        }
开发者ID:junyong-tsui,项目名称:csharpexamples,代码行数:46,代码来源:IISServer.cs


注:本文中的HttpApplication.ProcessRequest方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。