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


C# WebRequest.End方法代码示例

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


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

示例1: HandleRequest

        internal static void HandleRequest(WebRequest request, string content)
        {
            //var url = this.RequestUrl;
            //if (url == "/") url = "index.html";
            //var local = Path.Combine(/*WebServer.HtmlDirectory*/ @"C:\Development\Sync\Terraria-s-Dedicated-Server-Mod\tdsm-core\WebInterface\Files", EncapsulatePath(url));
            var local = GetEncapsulated(request);

            if (local != null && local.Exists)
            {
                //TODO implement cache

                using (var fs = local.OpenRead())
                {
                    var ext = local.Extension.ToLower();
                    var contentType = "text/html";
                    if (_contentTypes.ContainsKey(ext)) contentType = _contentTypes[ext];

                    request.RepsondHeader(200, "OK", contentType, fs.Length);

                    var buf = new byte[512];
                    while (fs.Position < fs.Length)
                    {
                        var read = fs.Read(buf, 0, buf.Length);
                        if (read > 0)
                        {
                            request.Send(buf, read, SocketFlags.None);
                        }
                        else break;
                    }
                }

                request.End();
            }
            else
            {
                //var segments = request.RequestUrl.Split('/');
                if (request.Path != null)
                    if (_pages.ContainsKey(request.Path))
                    {
                        if (_pages[request.Path].CanProcess(request))
                        {
                            _pages[request.Path].ProcessRequest(request);
                            request.End();
                        }
                        else
                        {
                            request.RepsondHeader(404, "Not Found", "text/html", 0);
                            request.End();
                        }
                    }
            }
        }
开发者ID:DeathCradle,项目名称:Terraria-s-Dedicated-Server-Mod,代码行数:52,代码来源:WebServer.cs


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