ASP.NET CORE中的Map和MapWhen方法

原创 Laughing  2017-06-30 21:18  阅读 75 次 评论 0 条
  1. using System;    
  2. using System.Collections.Generic;    
  3. using System.Linq;    
  4. using System.Threading.Tasks;    
  5. using Microsoft.AspNetCore.Builder;    
  6. using Microsoft.AspNetCore.Hosting;    
  7. using Microsoft.AspNetCore.Http;    
  8. using Microsoft.Extensions.DependencyInjection;    
  9. using Microsoft.Extensions.Logging;    
  10. using Microsoft.AspNetCore.WebUtilities;    
  11. using Microsoft.AspNetCore.Server;    
  12. using Microsoft.AspNetCore.Diagnostics;    
  13. using Microsoft.Extensions.FileProviders;    
  14. using Microsoft.Extensions.Configuration;    
  15. using Microsoft.Extensions.FileSystemGlobbing;    
  16. using Microsoft.Extensions.Options;    
  17. using System.IO;    
  18.     
  19. namespace NetCoreStudy    
  20. {    
  21.     public class Startup    
  22.     {    
  23.         // This method gets called by the runtime. Use this method to add services to the container.    
  24.         // For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940    
  25.         public void ConfigureServices(IServiceCollection services)    
  26.         {    
  27.                 
  28.         }    
  29.     
  30.         private static void HandleMapTest(IApplicationBuilder app){    
  31.             app.Run(async (context) => await context.Response.WriteAsync("Map Test Success"));    
  32.         }    
  33.     
  34.         private static void HandleBranch(IApplicationBuilder app){    
  35.             app.Run(async (context) => await context.Response.WriteAsync("Branch Test Success"));    
  36.         }    
  37.     
  38.         // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.    
  39.         public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)    
  40.         {    
  41.             loggerFactory.AddConsole();    
  42.     
  43.             app.Map("/maptest",HandleMapTest;    
  44.     
  45.             app.MapWhen(context => {    
  46.                 return context.Request.Query.ContainsKey("branch");    
  47.             },HandleBranch);    
  48.     
  49.             if (env.IsDevelopment())    
  50.             {    
  51.                 app.UseDeveloperExceptionPage();    
  52.             }    
  53.             var myStaticFile = new StaticFileOptions();    
  54.             myStaticFile.RequestPath = new PathString(@"/MyStaticFile");    
  55.             myStaticFile.FileProvider = new PhysicalFileProvider(Path.Combine(Directory.GetCurrentDirectory(), "MyStaticFile"));    
  56.             app.UseStaticFiles(myStaticFile);    
  57.                 
  58.             app.Run(async (context) =>    
  59.             {    
  60.                 await context.Response.WriteAsync("Hello World!");    
  61.             });    
  62.         }    
  63.     }    
  64. }    
本文地址:https://www.lisen.me/asp-net-the-core-of-the-map-and-mapwhen-method.html
版权声明:本文为原创文章,版权归 木子网 所有,欢迎分享本文,转载请保留出处!

发表评论


表情