예제 #1
0
        public static async Task WeatherForecast(HttpContext context)
        {
            var routeValues = context.GetRouteData().Values;
            var city        = routeValues.TryGetValue("city", out var v1) ? (string)v1 : "010";

            city = _cities[city];
            int days   = routeValues.TryGetValue("days", out var v2) ? int.Parse(v2.ToString()) : 4;
            var report = new WeatherReport(city, days);

            await RenderWeatherAsync(context, report);
        }
예제 #2
0
        private static async Task RenderWeatherAsync(HttpContext context, WeatherReport report)
        {
            context.Response.ContentType = "text/html;charset=utf-8";
            await context.Response.WriteAsync("<html><head><title>Weather</title></head><body>");

            await context.Response.WriteAsync($"<h3>{report.City}</h3>");

            foreach (var it in report.WeatherInfos)
            {
                await context.Response.WriteAsync($"{it.Key.ToString("yyyy-MM-dd")}:");

                await context.Response.WriteAsync(
                    $"{it.Value.Condition} ({it.Value.LowTemp} Celus - {it.Value.HighTemp}) <br/> <br/>"
                    );
            }
            await context.Response.WriteAsync("</body></html>");
        }