├── .vscode ├── launch.json └── tasks.json ├── Controllers ├── UsersController.cs └── ValuesController.cs ├── Entities └── User.cs ├── Helpers ├── Appsettings.cs └── Extensionns.cs ├── Program.cs ├── Properties └── launchSettings.json ├── Services └── IUserService.cs ├── Startup.cs ├── appsettings.Development.json ├── appsettings.json ├── bin └── Debug │ └── netcoreapp2.1 │ ├── jwtCoreDemo.deps.json │ ├── jwtCoreDemo.dll │ ├── jwtCoreDemo.pdb │ ├── jwtCoreDemo.runtimeconfig.dev.json │ └── jwtCoreDemo.runtimeconfig.json ├── jwtCoreDemo.csproj └── obj ├── Debug └── netcoreapp2.1 │ ├── jwtCoreDemo.AssemblyInfo.cs │ ├── jwtCoreDemo.AssemblyInfoInputs.cache │ ├── jwtCoreDemo.RazorAssemblyInfo.cache │ ├── jwtCoreDemo.RazorAssemblyInfo.cs │ ├── jwtCoreDemo.RazorTargetAssemblyInfo.cache │ ├── jwtCoreDemo.assets.cache │ ├── jwtCoreDemo.csproj.CoreCompileInputs.cache │ ├── jwtCoreDemo.csproj.FileListAbsolute.txt │ ├── jwtCoreDemo.csprojAssemblyReference.cache │ ├── jwtCoreDemo.dll │ ├── jwtCoreDemo.pdb │ └── project.razor.json ├── jwtCoreDemo.csproj.nuget.cache ├── jwtCoreDemo.csproj.nuget.dgspec.json ├── jwtCoreDemo.csproj.nuget.g.props ├── jwtCoreDemo.csproj.nuget.g.targets └── project.assets.json /.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to find out which attributes exist for C# debugging 3 | // Use hover for the description of the existing attributes 4 | // For further information visit https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger-launchjson.md 5 | "version": "0.2.0", 6 | "configurations": [ 7 | { 8 | "name": ".NET Core Launch (web)", 9 | "type": "coreclr", 10 | "request": "launch", 11 | "preLaunchTask": "build", 12 | // If you have changed target frameworks, make sure to update the program path. 13 | "program": "${workspaceFolder}/bin/Debug/netcoreapp2.1/jwtCoreDemo.dll", 14 | "args": [], 15 | "cwd": "${workspaceFolder}", 16 | "stopAtEntry": false, 17 | // Enable launching a web browser when ASP.NET Core starts. For more information: https://aka.ms/VSCode-CS-LaunchJson-WebBrowser 18 | "serverReadyAction": { 19 | "action": "openExternally", 20 | "pattern": "^\\s*Now listening on:\\s+(https?://\\S+)" 21 | }, 22 | "env": { 23 | "ASPNETCORE_ENVIRONMENT": "Development" 24 | }, 25 | "sourceFileMap": { 26 | "/Views": "${workspaceFolder}/Views" 27 | } 28 | }, 29 | { 30 | "name": ".NET Core Attach", 31 | "type": "coreclr", 32 | "request": "attach", 33 | "processId": "${command:pickProcess}" 34 | } 35 | ] 36 | } -------------------------------------------------------------------------------- /.vscode/tasks.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "2.0.0", 3 | "tasks": [ 4 | { 5 | "label": "build", 6 | "command": "dotnet", 7 | "type": "process", 8 | "args": [ 9 | "build", 10 | "${workspaceFolder}/jwtCoreDemo.csproj", 11 | "/property:GenerateFullPaths=true", 12 | "/consoleloggerparameters:NoSummary" 13 | ], 14 | "problemMatcher": "$msCompile" 15 | }, 16 | { 17 | "label": "publish", 18 | "command": "dotnet", 19 | "type": "process", 20 | "args": [ 21 | "publish", 22 | "${workspaceFolder}/jwtCoreDemo.csproj", 23 | "/property:GenerateFullPaths=true", 24 | "/consoleloggerparameters:NoSummary" 25 | ], 26 | "problemMatcher": "$msCompile" 27 | }, 28 | { 29 | "label": "watch", 30 | "command": "dotnet", 31 | "type": "process", 32 | "args": [ 33 | "watch", 34 | "run", 35 | "${workspaceFolder}/jwtCoreDemo.csproj", 36 | "/property:GenerateFullPaths=true", 37 | "/consoleloggerparameters:NoSummary" 38 | ], 39 | "problemMatcher": "$msCompile" 40 | } 41 | ] 42 | } -------------------------------------------------------------------------------- /Controllers/UsersController.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using jwtCoreDemo.Entities; 6 | using Microsoft.AspNetCore.Authorization; 7 | using Microsoft.AspNetCore.Mvc; 8 | using WebApi.Services; 9 | 10 | namespace jwtCoreDemo.Controllers 11 | { 12 | [Authorize] 13 | [ApiController] 14 | [Route("[controller]")] 15 | public class UsersController : ControllerBase 16 | { 17 | private IUserService _userService; 18 | 19 | public UsersController(IUserService userService) 20 | { 21 | _userService = userService; 22 | } 23 | 24 | [AllowAnonymous] 25 | [HttpPost("Authenticate")] 26 | public IActionResult Authenticate([FromBody]User userParam) 27 | { 28 | // throw new Exception("No entered!"); 29 | 30 | var user = _userService.Authenticate(userParam.KullaniciAdi, userParam.Sifre); 31 | 32 | if (user == null) 33 | return BadRequest(new { message = "Kullanici veya şifre hatalı!" }); 34 | 35 | return Ok(user); 36 | } 37 | 38 | [HttpGet] 39 | public IActionResult GetAll() 40 | { 41 | var users = _userService.GetAll(); 42 | return Ok(users); 43 | } 44 | 45 | 46 | [AllowAnonymous] 47 | [HttpPost("register")] 48 | public IActionResult Register(User user) 49 | { 50 | bool isUserExist; 51 | isUserExist = _userService.IsUserExist(user); 52 | 53 | if (isUserExist) 54 | return BadRequest("Kullanıcı adı sistemde kayıtlıdır."); 55 | 56 | var users = _userService.Insert(user); 57 | return Ok(users); 58 | } 59 | } 60 | } -------------------------------------------------------------------------------- /Controllers/ValuesController.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using Microsoft.AspNetCore.Mvc; 6 | 7 | namespace jwtCoreDemo.Controllers 8 | { 9 | [Route("api/[controller]")] 10 | [ApiController] 11 | public class ValuesController : ControllerBase 12 | { 13 | // GET api/values 14 | [HttpGet] 15 | public ActionResult> Get() 16 | { 17 | return new string[] { "value1", "value2" }; 18 | } 19 | 20 | // GET api/values/5 21 | [HttpGet("{id}")] 22 | public ActionResult Get(int id) 23 | { 24 | return "value"; 25 | } 26 | 27 | // POST api/values 28 | [HttpPost] 29 | public void Post([FromBody] string value) 30 | { 31 | } 32 | 33 | // PUT api/values/5 34 | [HttpPut("{id}")] 35 | public void Put(int id, [FromBody] string value) 36 | { 37 | } 38 | 39 | // DELETE api/values/5 40 | [HttpDelete("{id}")] 41 | public void Delete(int id) 42 | { 43 | } 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /Entities/User.cs: -------------------------------------------------------------------------------- 1 | namespace jwtCoreDemo.Entities 2 | { 3 | public class User 4 | { 5 | public int Id { get; set; } 6 | public string Ad { get; set; } 7 | public string Soyad { get; set; } 8 | public string KullaniciAdi { get; set; } 9 | public string Sifre { get; set; } 10 | public string Token { get; set; } 11 | } 12 | } -------------------------------------------------------------------------------- /Helpers/Appsettings.cs: -------------------------------------------------------------------------------- 1 | namespace jwtCoreDemo.Helpers 2 | { 3 | public class AppSettings 4 | { 5 | public string Secret { get; set; } 6 | } 7 | } -------------------------------------------------------------------------------- /Helpers/Extensionns.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Http; 2 | 3 | namespace jwtCoreDemo.Helpers 4 | { 5 | public static class Extensions 6 | { 7 | public static void AddApplicationError(this HttpResponse response, string message) 8 | { 9 | response.Headers.Add("Application-Error", message); 10 | response.Headers.Add("Access-Control-Expose-Headers", "Application-Error"); 11 | response.Headers.Add("Access-Control-Allow-Origin", "*"); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | using Microsoft.AspNetCore; 7 | using Microsoft.AspNetCore.Hosting; 8 | using Microsoft.Extensions.Configuration; 9 | using Microsoft.Extensions.Logging; 10 | 11 | namespace jwtCoreDemo 12 | { 13 | public class Program 14 | { 15 | public static void Main(string[] args) 16 | { 17 | BuildWebHost(args).Run(); 18 | } 19 | 20 | public static IWebHost BuildWebHost(string[] args) => 21 | WebHost.CreateDefaultBuilder(args) 22 | .UseStartup() 23 | .UseUrls("http://localhost:4004") 24 | .Build(); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json.schemastore.org/launchsettings.json", 3 | "iisSettings": { 4 | "windowsAuthentication": false, 5 | "anonymousAuthentication": true, 6 | "iisExpress": { 7 | "applicationUrl": "http://localhost:48087", 8 | "sslPort": 44313 9 | } 10 | }, 11 | "profiles": { 12 | "IIS Express": { 13 | "commandName": "IISExpress", 14 | "launchBrowser": true, 15 | "launchUrl": "api/values", 16 | "environmentVariables": { 17 | "ASPNETCORE_ENVIRONMENT": "Development" 18 | } 19 | }, 20 | "jwtCoreDemo": { 21 | "commandName": "Project", 22 | "launchBrowser": true, 23 | "launchUrl": "api/values", 24 | "applicationUrl": "https://localhost:5001;http://localhost:5000", 25 | "environmentVariables": { 26 | "ASPNETCORE_ENVIRONMENT": "Production" 27 | } 28 | } 29 | } 30 | } -------------------------------------------------------------------------------- /Services/IUserService.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IdentityModel.Tokens.Jwt; 4 | using System.Linq; 5 | using System.Security.Claims; 6 | using System.Text; 7 | using Microsoft.Extensions.Options; 8 | using Microsoft.IdentityModel.Tokens; 9 | using jwtCoreDemo.Entities; 10 | using jwtCoreDemo.Helpers; 11 | 12 | namespace WebApi.Services 13 | { 14 | public interface IUserService 15 | { 16 | User Authenticate(string kullaniciAdi, string sifre); 17 | IEnumerable GetAll(); 18 | IEnumerable Insert(User user); 19 | bool IsUserExist(User user); 20 | } 21 | 22 | public class UserService : IUserService 23 | { 24 | // Kullanıcılar veritabanı yerine manuel olarak listede tutulamaktadır. Önerilen tabiki veritabanında hash lenmiş olarak tutmaktır. 25 | private List _users = new List 26 | { 27 | new User { Id = 1, Ad = "Burak", Soyad = "Coskun", KullaniciAdi = "burakc34", Sifre = "1234" }, 28 | new User { Id = 2, Ad = "Deniz", Soyad = "Erdem", KullaniciAdi = "deniz06", Sifre = "4321" } 29 | }; 30 | 31 | private readonly AppSettings _appSettings; 32 | 33 | public UserService(IOptions appSettings) 34 | { 35 | _appSettings = appSettings.Value; 36 | } 37 | 38 | public User Authenticate(string kullaniciAdi, string sifre) 39 | { 40 | var user = _users.SingleOrDefault(x => x.KullaniciAdi == kullaniciAdi && x.Sifre == sifre); 41 | 42 | // Kullanici bulunamadıysa null döner. 43 | if (user == null) 44 | return null; 45 | 46 | // Authentication(Yetkilendirme) başarılı ise JWT token üretilir. 47 | var tokenHandler = new JwtSecurityTokenHandler(); 48 | var key = Encoding.ASCII.GetBytes(_appSettings.Secret); 49 | var tokenDescriptor = new SecurityTokenDescriptor 50 | { 51 | Subject = new ClaimsIdentity(new Claim[] 52 | { 53 | new Claim(ClaimTypes.Name, user.Id.ToString()) 54 | }), 55 | Expires = DateTime.UtcNow.AddDays(7), 56 | SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature) 57 | }; 58 | var token = tokenHandler.CreateToken(tokenDescriptor); 59 | user.Token = tokenHandler.WriteToken(token); 60 | 61 | // Sifre null olarak gonderilir. 62 | user.Sifre = null; 63 | 64 | return user; 65 | } 66 | 67 | public IEnumerable GetAll() 68 | { 69 | // Kullanicilar sifre olmadan dondurulur. 70 | return _users.Select(x => 71 | { 72 | x.Sifre = null; 73 | return x; 74 | }); 75 | } 76 | 77 | public bool IsUserExist(User user) 78 | { 79 | bool isExist; 80 | 81 | var userName = user.KullaniciAdi.ToLower(); 82 | isExist = _users.Any(n => n.KullaniciAdi == user.KullaniciAdi.ToLower()); 83 | 84 | return isExist; 85 | } 86 | 87 | public IEnumerable Insert(User user) 88 | { 89 | _users.Add(user); 90 | return _users; 91 | } 92 | 93 | 94 | } 95 | } -------------------------------------------------------------------------------- /Startup.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Net; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | using jwtCoreDemo.Helpers; 8 | using Microsoft.AspNetCore.Authentication.JwtBearer; 9 | using Microsoft.AspNetCore.Builder; 10 | using Microsoft.AspNetCore.Diagnostics; 11 | using Microsoft.AspNetCore.Hosting; 12 | using Microsoft.AspNetCore.Http; 13 | using Microsoft.AspNetCore.HttpsPolicy; 14 | using Microsoft.AspNetCore.Mvc; 15 | using Microsoft.Extensions.Configuration; 16 | using Microsoft.Extensions.DependencyInjection; 17 | using Microsoft.Extensions.Logging; 18 | using Microsoft.Extensions.Options; 19 | using Microsoft.IdentityModel.Tokens; 20 | using WebApi.Services; 21 | 22 | namespace jwtCoreDemo 23 | { 24 | public class Startup 25 | { 26 | public Startup(IConfiguration configuration) 27 | { 28 | Configuration = configuration; 29 | } 30 | 31 | public IConfiguration Configuration { get; } 32 | 33 | public void ConfigureServices(IServiceCollection services) 34 | { 35 | services.AddCors(); 36 | services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1); 37 | 38 | var appSettingsSection = Configuration.GetSection("AppSettings"); 39 | services.Configure(appSettingsSection); 40 | 41 | // JWT authentication Aayarlaması 42 | var appSettings = appSettingsSection.Get(); 43 | var key = Encoding.ASCII.GetBytes(appSettings.Secret); 44 | services.AddAuthentication(x => 45 | { 46 | x.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme; 47 | x.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme; 48 | }) 49 | .AddJwtBearer(x => 50 | { 51 | x.RequireHttpsMetadata = false; 52 | x.SaveToken = true; 53 | x.TokenValidationParameters = new TokenValidationParameters 54 | { 55 | ValidateIssuerSigningKey = true, 56 | IssuerSigningKey = new SymmetricSecurityKey(key), 57 | ValidateIssuer = false, 58 | ValidateAudience = false 59 | }; 60 | }); 61 | 62 | // Uygulama servisi için Dependecy Injection Ayarı 63 | services.AddScoped(); 64 | } 65 | 66 | // Bu metod runtime sırasında çağırılır. HTTP request pipeline ının ayarlanması(sıralama vs.) için kullanılır. 67 | public void Configure(IApplicationBuilder app, IHostingEnvironment env) 68 | { 69 | if (env.IsDevelopment()) 70 | { 71 | app.UseDeveloperExceptionPage(); 72 | } 73 | else 74 | { 75 | app.UseExceptionHandler(builder=>{ 76 | builder.Run(async context=>{ 77 | context.Response.StatusCode=(int)HttpStatusCode.InternalServerError; 78 | 79 | var error=context.Features.Get(); 80 | if (error!=null) 81 | { 82 | context.Response.AddApplicationError(error.Error.Message); 83 | await context.Response.WriteAsync(error.Error.Message); 84 | } 85 | }); 86 | }); 87 | } 88 | 89 | 90 | // global cors policy 91 | app.UseCors(x => x 92 | .AllowAnyOrigin() 93 | .AllowAnyMethod() 94 | .AllowAnyHeader()); 95 | 96 | app.UseAuthentication(); 97 | 98 | app.UseMvc(); 99 | } 100 | } 101 | } 102 | -------------------------------------------------------------------------------- /appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Debug", 5 | "System": "Information", 6 | "Microsoft": "Information" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "AppSettings": { 3 | "Secret": "StringHerhangiBirSeyYazabilirsiniz.." 4 | }, 5 | "Logging": { 6 | "LogLevel": { 7 | "Default": "Warning" 8 | } 9 | } 10 | } -------------------------------------------------------------------------------- /bin/Debug/netcoreapp2.1/jwtCoreDemo.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iamburakcoskun/aspnet-core-jwt-authentication-api/c08bb296c31ed1ceb3a04cc214ebc4cc11c851fd/bin/Debug/netcoreapp2.1/jwtCoreDemo.dll -------------------------------------------------------------------------------- /bin/Debug/netcoreapp2.1/jwtCoreDemo.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iamburakcoskun/aspnet-core-jwt-authentication-api/c08bb296c31ed1ceb3a04cc214ebc4cc11c851fd/bin/Debug/netcoreapp2.1/jwtCoreDemo.pdb -------------------------------------------------------------------------------- /bin/Debug/netcoreapp2.1/jwtCoreDemo.runtimeconfig.dev.json: -------------------------------------------------------------------------------- 1 | { 2 | "runtimeOptions": { 3 | "additionalProbingPaths": [ 4 | "C:\\Users\\burakcpc\\.dotnet\\store\\|arch|\\|tfm|", 5 | "C:\\Users\\burakcpc\\.nuget\\packages", 6 | "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder" 7 | ] 8 | } 9 | } -------------------------------------------------------------------------------- /bin/Debug/netcoreapp2.1/jwtCoreDemo.runtimeconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "runtimeOptions": { 3 | "tfm": "netcoreapp2.1", 4 | "framework": { 5 | "name": "Microsoft.AspNetCore.App", 6 | "version": "2.1.1" 7 | }, 8 | "configProperties": { 9 | "System.GC.Server": true 10 | } 11 | } 12 | } -------------------------------------------------------------------------------- /jwtCoreDemo.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netcoreapp2.1 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /obj/Debug/netcoreapp2.1/jwtCoreDemo.AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | using System; 12 | using System.Reflection; 13 | 14 | [assembly: System.Reflection.AssemblyCompanyAttribute("jwtCoreDemo")] 15 | [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] 16 | [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] 17 | [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")] 18 | [assembly: System.Reflection.AssemblyProductAttribute("jwtCoreDemo")] 19 | [assembly: System.Reflection.AssemblyTitleAttribute("jwtCoreDemo")] 20 | [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] 21 | 22 | // Generated by the MSBuild WriteCodeFragment class. 23 | 24 | -------------------------------------------------------------------------------- /obj/Debug/netcoreapp2.1/jwtCoreDemo.AssemblyInfoInputs.cache: -------------------------------------------------------------------------------- 1 | 494ac4639f6d63e2614cf613af3118cd2077c42a 2 | -------------------------------------------------------------------------------- /obj/Debug/netcoreapp2.1/jwtCoreDemo.RazorAssemblyInfo.cache: -------------------------------------------------------------------------------- 1 | ada2f30aca92fad131c5ad45f342cb9851f72bb6 2 | -------------------------------------------------------------------------------- /obj/Debug/netcoreapp2.1/jwtCoreDemo.RazorAssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | using System; 12 | using System.Reflection; 13 | 14 | [assembly: Microsoft.AspNetCore.Mvc.ApplicationParts.RelatedAssemblyAttribute("jwtCoreDemo.Views")] 15 | [assembly: Microsoft.AspNetCore.Razor.Hosting.RazorLanguageVersionAttribute("2.1")] 16 | [assembly: Microsoft.AspNetCore.Razor.Hosting.RazorConfigurationNameAttribute("MVC-2.1")] 17 | [assembly: Microsoft.AspNetCore.Razor.Hosting.RazorExtensionAssemblyNameAttribute("MVC-2.1", "Microsoft.AspNetCore.Mvc.Razor.Extensions")] 18 | 19 | // Generated by the MSBuild WriteCodeFragment class. 20 | 21 | -------------------------------------------------------------------------------- /obj/Debug/netcoreapp2.1/jwtCoreDemo.RazorTargetAssemblyInfo.cache: -------------------------------------------------------------------------------- 1 | 60a574180d8b7917dce79da4ffc71850e45eb7ec 2 | -------------------------------------------------------------------------------- /obj/Debug/netcoreapp2.1/jwtCoreDemo.assets.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iamburakcoskun/aspnet-core-jwt-authentication-api/c08bb296c31ed1ceb3a04cc214ebc4cc11c851fd/obj/Debug/netcoreapp2.1/jwtCoreDemo.assets.cache -------------------------------------------------------------------------------- /obj/Debug/netcoreapp2.1/jwtCoreDemo.csproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | ad271e0990ef706f67d9d97a2fde64c3e1f9f539 2 | -------------------------------------------------------------------------------- /obj/Debug/netcoreapp2.1/jwtCoreDemo.csproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | C:\Users\burakcpc\Desktop\jwtCoreDemo\bin\Debug\netcoreapp2.1\jwtCoreDemo.deps.json 2 | C:\Users\burakcpc\Desktop\jwtCoreDemo\bin\Debug\netcoreapp2.1\jwtCoreDemo.runtimeconfig.json 3 | C:\Users\burakcpc\Desktop\jwtCoreDemo\bin\Debug\netcoreapp2.1\jwtCoreDemo.runtimeconfig.dev.json 4 | C:\Users\burakcpc\Desktop\jwtCoreDemo\bin\Debug\netcoreapp2.1\jwtCoreDemo.dll 5 | C:\Users\burakcpc\Desktop\jwtCoreDemo\bin\Debug\netcoreapp2.1\jwtCoreDemo.pdb 6 | C:\Users\burakcpc\Desktop\jwtCoreDemo\obj\Debug\netcoreapp2.1\jwtCoreDemo.csprojAssemblyReference.cache 7 | C:\Users\burakcpc\Desktop\jwtCoreDemo\obj\Debug\netcoreapp2.1\jwtCoreDemo.csproj.CoreCompileInputs.cache 8 | C:\Users\burakcpc\Desktop\jwtCoreDemo\obj\Debug\netcoreapp2.1\jwtCoreDemo.RazorAssemblyInfo.cache 9 | C:\Users\burakcpc\Desktop\jwtCoreDemo\obj\Debug\netcoreapp2.1\jwtCoreDemo.RazorAssemblyInfo.cs 10 | C:\Users\burakcpc\Desktop\jwtCoreDemo\obj\Debug\netcoreapp2.1\jwtCoreDemo.AssemblyInfoInputs.cache 11 | C:\Users\burakcpc\Desktop\jwtCoreDemo\obj\Debug\netcoreapp2.1\jwtCoreDemo.AssemblyInfo.cs 12 | C:\Users\burakcpc\Desktop\jwtCoreDemo\obj\Debug\netcoreapp2.1\jwtCoreDemo.RazorTargetAssemblyInfo.cache 13 | C:\Users\burakcpc\Desktop\jwtCoreDemo\obj\Debug\netcoreapp2.1\jwtCoreDemo.dll 14 | C:\Users\burakcpc\Desktop\jwtCoreDemo\obj\Debug\netcoreapp2.1\jwtCoreDemo.pdb 15 | C:\Users\burakcpc\Desktop\Github\aspnet-core-jwt-authentication-api\bin\Debug\netcoreapp2.1\jwtCoreDemo.deps.json 16 | C:\Users\burakcpc\Desktop\Github\aspnet-core-jwt-authentication-api\bin\Debug\netcoreapp2.1\jwtCoreDemo.runtimeconfig.json 17 | C:\Users\burakcpc\Desktop\Github\aspnet-core-jwt-authentication-api\bin\Debug\netcoreapp2.1\jwtCoreDemo.runtimeconfig.dev.json 18 | C:\Users\burakcpc\Desktop\Github\aspnet-core-jwt-authentication-api\bin\Debug\netcoreapp2.1\jwtCoreDemo.dll 19 | C:\Users\burakcpc\Desktop\Github\aspnet-core-jwt-authentication-api\bin\Debug\netcoreapp2.1\jwtCoreDemo.pdb 20 | C:\Users\burakcpc\Desktop\Github\aspnet-core-jwt-authentication-api\obj\Debug\netcoreapp2.1\jwtCoreDemo.csprojAssemblyReference.cache 21 | C:\Users\burakcpc\Desktop\Github\aspnet-core-jwt-authentication-api\obj\Debug\netcoreapp2.1\jwtCoreDemo.csproj.CoreCompileInputs.cache 22 | C:\Users\burakcpc\Desktop\Github\aspnet-core-jwt-authentication-api\obj\Debug\netcoreapp2.1\jwtCoreDemo.RazorAssemblyInfo.cache 23 | C:\Users\burakcpc\Desktop\Github\aspnet-core-jwt-authentication-api\obj\Debug\netcoreapp2.1\jwtCoreDemo.RazorAssemblyInfo.cs 24 | C:\Users\burakcpc\Desktop\Github\aspnet-core-jwt-authentication-api\obj\Debug\netcoreapp2.1\jwtCoreDemo.AssemblyInfoInputs.cache 25 | C:\Users\burakcpc\Desktop\Github\aspnet-core-jwt-authentication-api\obj\Debug\netcoreapp2.1\jwtCoreDemo.AssemblyInfo.cs 26 | C:\Users\burakcpc\Desktop\Github\aspnet-core-jwt-authentication-api\obj\Debug\netcoreapp2.1\jwtCoreDemo.RazorTargetAssemblyInfo.cache 27 | C:\Users\burakcpc\Desktop\Github\aspnet-core-jwt-authentication-api\obj\Debug\netcoreapp2.1\jwtCoreDemo.dll 28 | C:\Users\burakcpc\Desktop\Github\aspnet-core-jwt-authentication-api\obj\Debug\netcoreapp2.1\jwtCoreDemo.pdb 29 | -------------------------------------------------------------------------------- /obj/Debug/netcoreapp2.1/jwtCoreDemo.csprojAssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iamburakcoskun/aspnet-core-jwt-authentication-api/c08bb296c31ed1ceb3a04cc214ebc4cc11c851fd/obj/Debug/netcoreapp2.1/jwtCoreDemo.csprojAssemblyReference.cache -------------------------------------------------------------------------------- /obj/Debug/netcoreapp2.1/jwtCoreDemo.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iamburakcoskun/aspnet-core-jwt-authentication-api/c08bb296c31ed1ceb3a04cc214ebc4cc11c851fd/obj/Debug/netcoreapp2.1/jwtCoreDemo.dll -------------------------------------------------------------------------------- /obj/Debug/netcoreapp2.1/jwtCoreDemo.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iamburakcoskun/aspnet-core-jwt-authentication-api/c08bb296c31ed1ceb3a04cc214ebc4cc11c851fd/obj/Debug/netcoreapp2.1/jwtCoreDemo.pdb -------------------------------------------------------------------------------- /obj/Debug/netcoreapp2.1/project.razor.json: -------------------------------------------------------------------------------- 1 | { 2 | "FilePath": "c:\\Users\\burakcpc\\Desktop\\Github\\aspnet-core-jwt-authentication-api\\jwtCoreDemo.csproj", 3 | "Configuration": { 4 | "ConfigurationName": "MVC-2.1", 5 | "LanguageVersion": "2.1", 6 | "Extensions": [ 7 | { 8 | "ExtensionName": "MVC-2.1" 9 | } 10 | ] 11 | }, 12 | "ProjectWorkspaceState": { 13 | "TagHelpers": [ 14 | { 15 | "Kind": "ITagHelper", 16 | "Name": "Microsoft.AspNetCore.Mvc.TagHelpers.AnchorTagHelper", 17 | "AssemblyName": "Microsoft.AspNetCore.Mvc.TagHelpers", 18 | "Documentation": "\n \n implementation targeting <a> elements.\n \n ", 19 | "TagOutputHint": null, 20 | "CaseSensitive": false, 21 | "TagMatchingRules": [ 22 | { 23 | "TagName": "a", 24 | "ParentTag": null, 25 | "TagStructure": 0, 26 | "Attributes": [ 27 | { 28 | "Name": "asp-action", 29 | "NameComparison": 0, 30 | "Value": null, 31 | "ValueComparison": 0, 32 | "Diagnostics": [], 33 | "Metadata": {} 34 | } 35 | ], 36 | "Diagnostics": [] 37 | }, 38 | { 39 | "TagName": "a", 40 | "ParentTag": null, 41 | "TagStructure": 0, 42 | "Attributes": [ 43 | { 44 | "Name": "asp-controller", 45 | "NameComparison": 0, 46 | "Value": null, 47 | "ValueComparison": 0, 48 | "Diagnostics": [], 49 | "Metadata": {} 50 | } 51 | ], 52 | "Diagnostics": [] 53 | }, 54 | { 55 | "TagName": "a", 56 | "ParentTag": null, 57 | "TagStructure": 0, 58 | "Attributes": [ 59 | { 60 | "Name": "asp-area", 61 | "NameComparison": 0, 62 | "Value": null, 63 | "ValueComparison": 0, 64 | "Diagnostics": [], 65 | "Metadata": {} 66 | } 67 | ], 68 | "Diagnostics": [] 69 | }, 70 | { 71 | "TagName": "a", 72 | "ParentTag": null, 73 | "TagStructure": 0, 74 | "Attributes": [ 75 | { 76 | "Name": "asp-page", 77 | "NameComparison": 0, 78 | "Value": null, 79 | "ValueComparison": 0, 80 | "Diagnostics": [], 81 | "Metadata": {} 82 | } 83 | ], 84 | "Diagnostics": [] 85 | }, 86 | { 87 | "TagName": "a", 88 | "ParentTag": null, 89 | "TagStructure": 0, 90 | "Attributes": [ 91 | { 92 | "Name": "asp-page-handler", 93 | "NameComparison": 0, 94 | "Value": null, 95 | "ValueComparison": 0, 96 | "Diagnostics": [], 97 | "Metadata": {} 98 | } 99 | ], 100 | "Diagnostics": [] 101 | }, 102 | { 103 | "TagName": "a", 104 | "ParentTag": null, 105 | "TagStructure": 0, 106 | "Attributes": [ 107 | { 108 | "Name": "asp-fragment", 109 | "NameComparison": 0, 110 | "Value": null, 111 | "ValueComparison": 0, 112 | "Diagnostics": [], 113 | "Metadata": {} 114 | } 115 | ], 116 | "Diagnostics": [] 117 | }, 118 | { 119 | "TagName": "a", 120 | "ParentTag": null, 121 | "TagStructure": 0, 122 | "Attributes": [ 123 | { 124 | "Name": "asp-host", 125 | "NameComparison": 0, 126 | "Value": null, 127 | "ValueComparison": 0, 128 | "Diagnostics": [], 129 | "Metadata": {} 130 | } 131 | ], 132 | "Diagnostics": [] 133 | }, 134 | { 135 | "TagName": "a", 136 | "ParentTag": null, 137 | "TagStructure": 0, 138 | "Attributes": [ 139 | { 140 | "Name": "asp-protocol", 141 | "NameComparison": 0, 142 | "Value": null, 143 | "ValueComparison": 0, 144 | "Diagnostics": [], 145 | "Metadata": {} 146 | } 147 | ], 148 | "Diagnostics": [] 149 | }, 150 | { 151 | "TagName": "a", 152 | "ParentTag": null, 153 | "TagStructure": 0, 154 | "Attributes": [ 155 | { 156 | "Name": "asp-route", 157 | "NameComparison": 0, 158 | "Value": null, 159 | "ValueComparison": 0, 160 | "Diagnostics": [], 161 | "Metadata": {} 162 | } 163 | ], 164 | "Diagnostics": [] 165 | }, 166 | { 167 | "TagName": "a", 168 | "ParentTag": null, 169 | "TagStructure": 0, 170 | "Attributes": [ 171 | { 172 | "Name": "asp-all-route-data", 173 | "NameComparison": 0, 174 | "Value": null, 175 | "ValueComparison": 0, 176 | "Diagnostics": [], 177 | "Metadata": {} 178 | } 179 | ], 180 | "Diagnostics": [] 181 | }, 182 | { 183 | "TagName": "a", 184 | "ParentTag": null, 185 | "TagStructure": 0, 186 | "Attributes": [ 187 | { 188 | "Name": "asp-route-", 189 | "NameComparison": 1, 190 | "Value": null, 191 | "ValueComparison": 0, 192 | "Diagnostics": [], 193 | "Metadata": {} 194 | } 195 | ], 196 | "Diagnostics": [] 197 | } 198 | ], 199 | "BoundAttributes": [ 200 | { 201 | "Kind": "ITagHelper", 202 | "Name": "asp-action", 203 | "TypeName": "System.String", 204 | "IsEnum": false, 205 | "IndexerNamePrefix": null, 206 | "IndexerTypeName": null, 207 | "Documentation": "\n \n The name of the action method.\n \n \n Must be null if or is non-null.\n \n ", 208 | "Diagnostics": [], 209 | "Metadata": { 210 | "Common.PropertyName": "Action" 211 | }, 212 | "BoundAttributeParameters": [] 213 | }, 214 | { 215 | "Kind": "ITagHelper", 216 | "Name": "asp-controller", 217 | "TypeName": "System.String", 218 | "IsEnum": false, 219 | "IndexerNamePrefix": null, 220 | "IndexerTypeName": null, 221 | "Documentation": "\n \n The name of the controller.\n \n \n Must be null if or is non-null.\n \n ", 222 | "Diagnostics": [], 223 | "Metadata": { 224 | "Common.PropertyName": "Controller" 225 | }, 226 | "BoundAttributeParameters": [] 227 | }, 228 | { 229 | "Kind": "ITagHelper", 230 | "Name": "asp-area", 231 | "TypeName": "System.String", 232 | "IsEnum": false, 233 | "IndexerNamePrefix": null, 234 | "IndexerTypeName": null, 235 | "Documentation": "\n \n The name of the area.\n \n \n Must be null if or is non-null.\n \n ", 236 | "Diagnostics": [], 237 | "Metadata": { 238 | "Common.PropertyName": "Area" 239 | }, 240 | "BoundAttributeParameters": [] 241 | }, 242 | { 243 | "Kind": "ITagHelper", 244 | "Name": "asp-page", 245 | "TypeName": "System.String", 246 | "IsEnum": false, 247 | "IndexerNamePrefix": null, 248 | "IndexerTypeName": null, 249 | "Documentation": "\n \n The name of the page.\n \n \n Must be null if or , \n or is non-null.\n \n ", 250 | "Diagnostics": [], 251 | "Metadata": { 252 | "Common.PropertyName": "Page" 253 | }, 254 | "BoundAttributeParameters": [] 255 | }, 256 | { 257 | "Kind": "ITagHelper", 258 | "Name": "asp-page-handler", 259 | "TypeName": "System.String", 260 | "IsEnum": false, 261 | "IndexerNamePrefix": null, 262 | "IndexerTypeName": null, 263 | "Documentation": "\n \n The name of the page handler.\n \n \n Must be null if or , or \n is non-null.\n \n ", 264 | "Diagnostics": [], 265 | "Metadata": { 266 | "Common.PropertyName": "PageHandler" 267 | }, 268 | "BoundAttributeParameters": [] 269 | }, 270 | { 271 | "Kind": "ITagHelper", 272 | "Name": "asp-protocol", 273 | "TypeName": "System.String", 274 | "IsEnum": false, 275 | "IndexerNamePrefix": null, 276 | "IndexerTypeName": null, 277 | "Documentation": "\n \n The protocol for the URL, such as \"http\" or \"https\".\n \n ", 278 | "Diagnostics": [], 279 | "Metadata": { 280 | "Common.PropertyName": "Protocol" 281 | }, 282 | "BoundAttributeParameters": [] 283 | }, 284 | { 285 | "Kind": "ITagHelper", 286 | "Name": "asp-host", 287 | "TypeName": "System.String", 288 | "IsEnum": false, 289 | "IndexerNamePrefix": null, 290 | "IndexerTypeName": null, 291 | "Documentation": "\n \n The host name.\n \n ", 292 | "Diagnostics": [], 293 | "Metadata": { 294 | "Common.PropertyName": "Host" 295 | }, 296 | "BoundAttributeParameters": [] 297 | }, 298 | { 299 | "Kind": "ITagHelper", 300 | "Name": "asp-fragment", 301 | "TypeName": "System.String", 302 | "IsEnum": false, 303 | "IndexerNamePrefix": null, 304 | "IndexerTypeName": null, 305 | "Documentation": "\n \n The URL fragment name.\n \n ", 306 | "Diagnostics": [], 307 | "Metadata": { 308 | "Common.PropertyName": "Fragment" 309 | }, 310 | "BoundAttributeParameters": [] 311 | }, 312 | { 313 | "Kind": "ITagHelper", 314 | "Name": "asp-route", 315 | "TypeName": "System.String", 316 | "IsEnum": false, 317 | "IndexerNamePrefix": null, 318 | "IndexerTypeName": null, 319 | "Documentation": "\n \n Name of the route.\n \n \n Must be null if one of , , \n or is non-null.\n \n ", 320 | "Diagnostics": [], 321 | "Metadata": { 322 | "Common.PropertyName": "Route" 323 | }, 324 | "BoundAttributeParameters": [] 325 | }, 326 | { 327 | "Kind": "ITagHelper", 328 | "Name": "asp-all-route-data", 329 | "TypeName": "System.Collections.Generic.IDictionary", 330 | "IsEnum": false, 331 | "IndexerNamePrefix": "asp-route-", 332 | "IndexerTypeName": "System.String", 333 | "Documentation": "\n \n Additional parameters for the route.\n \n ", 334 | "Diagnostics": [], 335 | "Metadata": { 336 | "Common.PropertyName": "RouteValues" 337 | }, 338 | "BoundAttributeParameters": [] 339 | } 340 | ], 341 | "AllowedChildTags": [], 342 | "Diagnostics": [], 343 | "Metadata": { 344 | "Runtime.Name": "ITagHelper", 345 | "Common.TypeName": "Microsoft.AspNetCore.Mvc.TagHelpers.AnchorTagHelper" 346 | } 347 | }, 348 | { 349 | "Kind": "ITagHelper", 350 | "Name": "Microsoft.AspNetCore.Mvc.TagHelpers.CacheTagHelper", 351 | "AssemblyName": "Microsoft.AspNetCore.Mvc.TagHelpers", 352 | "Documentation": "\n \n implementation targeting <cache> elements.\n \n ", 353 | "TagOutputHint": null, 354 | "CaseSensitive": false, 355 | "TagMatchingRules": [ 356 | { 357 | "TagName": "cache", 358 | "ParentTag": null, 359 | "TagStructure": 0, 360 | "Attributes": [], 361 | "Diagnostics": [] 362 | } 363 | ], 364 | "BoundAttributes": [ 365 | { 366 | "Kind": "ITagHelper", 367 | "Name": "priority", 368 | "TypeName": "Microsoft.Extensions.Caching.Memory.CacheItemPriority?", 369 | "IsEnum": false, 370 | "IndexerNamePrefix": null, 371 | "IndexerTypeName": null, 372 | "Documentation": "\n \n Gets or sets the policy for the cache entry.\n \n ", 373 | "Diagnostics": [], 374 | "Metadata": { 375 | "Common.PropertyName": "Priority" 376 | }, 377 | "BoundAttributeParameters": [] 378 | }, 379 | { 380 | "Kind": "ITagHelper", 381 | "Name": "vary-by", 382 | "TypeName": "System.String", 383 | "IsEnum": false, 384 | "IndexerNamePrefix": null, 385 | "IndexerTypeName": null, 386 | "Documentation": "\n \n Gets or sets a to vary the cached result by.\n \n ", 387 | "Diagnostics": [], 388 | "Metadata": { 389 | "Common.PropertyName": "VaryBy" 390 | }, 391 | "BoundAttributeParameters": [] 392 | }, 393 | { 394 | "Kind": "ITagHelper", 395 | "Name": "vary-by-header", 396 | "TypeName": "System.String", 397 | "IsEnum": false, 398 | "IndexerNamePrefix": null, 399 | "IndexerTypeName": null, 400 | "Documentation": "\n \n Gets or sets a comma-delimited set of HTTP request headers to vary the cached result by.\n \n ", 401 | "Diagnostics": [], 402 | "Metadata": { 403 | "Common.PropertyName": "VaryByHeader" 404 | }, 405 | "BoundAttributeParameters": [] 406 | }, 407 | { 408 | "Kind": "ITagHelper", 409 | "Name": "vary-by-query", 410 | "TypeName": "System.String", 411 | "IsEnum": false, 412 | "IndexerNamePrefix": null, 413 | "IndexerTypeName": null, 414 | "Documentation": "\n \n Gets or sets a comma-delimited set of query parameters to vary the cached result by.\n \n ", 415 | "Diagnostics": [], 416 | "Metadata": { 417 | "Common.PropertyName": "VaryByQuery" 418 | }, 419 | "BoundAttributeParameters": [] 420 | }, 421 | { 422 | "Kind": "ITagHelper", 423 | "Name": "vary-by-route", 424 | "TypeName": "System.String", 425 | "IsEnum": false, 426 | "IndexerNamePrefix": null, 427 | "IndexerTypeName": null, 428 | "Documentation": "\n \n Gets or sets a comma-delimited set of route data parameters to vary the cached result by.\n \n ", 429 | "Diagnostics": [], 430 | "Metadata": { 431 | "Common.PropertyName": "VaryByRoute" 432 | }, 433 | "BoundAttributeParameters": [] 434 | }, 435 | { 436 | "Kind": "ITagHelper", 437 | "Name": "vary-by-cookie", 438 | "TypeName": "System.String", 439 | "IsEnum": false, 440 | "IndexerNamePrefix": null, 441 | "IndexerTypeName": null, 442 | "Documentation": "\n \n Gets or sets a comma-delimited set of cookie names to vary the cached result by.\n \n ", 443 | "Diagnostics": [], 444 | "Metadata": { 445 | "Common.PropertyName": "VaryByCookie" 446 | }, 447 | "BoundAttributeParameters": [] 448 | }, 449 | { 450 | "Kind": "ITagHelper", 451 | "Name": "vary-by-user", 452 | "TypeName": "System.Boolean", 453 | "IsEnum": false, 454 | "IndexerNamePrefix": null, 455 | "IndexerTypeName": null, 456 | "Documentation": "\n \n Gets or sets a value that determines if the cached result is to be varied by the Identity for the logged in\n .\n \n ", 457 | "Diagnostics": [], 458 | "Metadata": { 459 | "Common.PropertyName": "VaryByUser" 460 | }, 461 | "BoundAttributeParameters": [] 462 | }, 463 | { 464 | "Kind": "ITagHelper", 465 | "Name": "expires-on", 466 | "TypeName": "System.DateTimeOffset?", 467 | "IsEnum": false, 468 | "IndexerNamePrefix": null, 469 | "IndexerTypeName": null, 470 | "Documentation": "\n \n Gets or sets the exact the cache entry should be evicted.\n \n ", 471 | "Diagnostics": [], 472 | "Metadata": { 473 | "Common.PropertyName": "ExpiresOn" 474 | }, 475 | "BoundAttributeParameters": [] 476 | }, 477 | { 478 | "Kind": "ITagHelper", 479 | "Name": "expires-after", 480 | "TypeName": "System.TimeSpan?", 481 | "IsEnum": false, 482 | "IndexerNamePrefix": null, 483 | "IndexerTypeName": null, 484 | "Documentation": "\n \n Gets or sets the duration, from the time the cache entry was added, when it should be evicted.\n \n ", 485 | "Diagnostics": [], 486 | "Metadata": { 487 | "Common.PropertyName": "ExpiresAfter" 488 | }, 489 | "BoundAttributeParameters": [] 490 | }, 491 | { 492 | "Kind": "ITagHelper", 493 | "Name": "expires-sliding", 494 | "TypeName": "System.TimeSpan?", 495 | "IsEnum": false, 496 | "IndexerNamePrefix": null, 497 | "IndexerTypeName": null, 498 | "Documentation": "\n \n Gets or sets the duration from last access that the cache entry should be evicted.\n \n ", 499 | "Diagnostics": [], 500 | "Metadata": { 501 | "Common.PropertyName": "ExpiresSliding" 502 | }, 503 | "BoundAttributeParameters": [] 504 | }, 505 | { 506 | "Kind": "ITagHelper", 507 | "Name": "enabled", 508 | "TypeName": "System.Boolean", 509 | "IsEnum": false, 510 | "IndexerNamePrefix": null, 511 | "IndexerTypeName": null, 512 | "Documentation": "\n \n Gets or sets the value which determines if the tag helper is enabled or not.\n \n ", 513 | "Diagnostics": [], 514 | "Metadata": { 515 | "Common.PropertyName": "Enabled" 516 | }, 517 | "BoundAttributeParameters": [] 518 | } 519 | ], 520 | "AllowedChildTags": [], 521 | "Diagnostics": [], 522 | "Metadata": { 523 | "Runtime.Name": "ITagHelper", 524 | "Common.TypeName": "Microsoft.AspNetCore.Mvc.TagHelpers.CacheTagHelper" 525 | } 526 | }, 527 | { 528 | "Kind": "ITagHelper", 529 | "Name": "Microsoft.AspNetCore.Mvc.TagHelpers.DistributedCacheTagHelper", 530 | "AssemblyName": "Microsoft.AspNetCore.Mvc.TagHelpers", 531 | "Documentation": "\n \n implementation targeting <distributed-cache> elements.\n \n ", 532 | "TagOutputHint": null, 533 | "CaseSensitive": false, 534 | "TagMatchingRules": [ 535 | { 536 | "TagName": "distributed-cache", 537 | "ParentTag": null, 538 | "TagStructure": 0, 539 | "Attributes": [ 540 | { 541 | "Name": "name", 542 | "NameComparison": 0, 543 | "Value": null, 544 | "ValueComparison": 0, 545 | "Diagnostics": [], 546 | "Metadata": {} 547 | } 548 | ], 549 | "Diagnostics": [] 550 | } 551 | ], 552 | "BoundAttributes": [ 553 | { 554 | "Kind": "ITagHelper", 555 | "Name": "name", 556 | "TypeName": "System.String", 557 | "IsEnum": false, 558 | "IndexerNamePrefix": null, 559 | "IndexerTypeName": null, 560 | "Documentation": "\n \n Gets or sets a unique name to discriminate cached entries.\n \n ", 561 | "Diagnostics": [], 562 | "Metadata": { 563 | "Common.PropertyName": "Name" 564 | }, 565 | "BoundAttributeParameters": [] 566 | }, 567 | { 568 | "Kind": "ITagHelper", 569 | "Name": "vary-by", 570 | "TypeName": "System.String", 571 | "IsEnum": false, 572 | "IndexerNamePrefix": null, 573 | "IndexerTypeName": null, 574 | "Documentation": "\n \n Gets or sets a to vary the cached result by.\n \n ", 575 | "Diagnostics": [], 576 | "Metadata": { 577 | "Common.PropertyName": "VaryBy" 578 | }, 579 | "BoundAttributeParameters": [] 580 | }, 581 | { 582 | "Kind": "ITagHelper", 583 | "Name": "vary-by-header", 584 | "TypeName": "System.String", 585 | "IsEnum": false, 586 | "IndexerNamePrefix": null, 587 | "IndexerTypeName": null, 588 | "Documentation": "\n \n Gets or sets a comma-delimited set of HTTP request headers to vary the cached result by.\n \n ", 589 | "Diagnostics": [], 590 | "Metadata": { 591 | "Common.PropertyName": "VaryByHeader" 592 | }, 593 | "BoundAttributeParameters": [] 594 | }, 595 | { 596 | "Kind": "ITagHelper", 597 | "Name": "vary-by-query", 598 | "TypeName": "System.String", 599 | "IsEnum": false, 600 | "IndexerNamePrefix": null, 601 | "IndexerTypeName": null, 602 | "Documentation": "\n \n Gets or sets a comma-delimited set of query parameters to vary the cached result by.\n \n ", 603 | "Diagnostics": [], 604 | "Metadata": { 605 | "Common.PropertyName": "VaryByQuery" 606 | }, 607 | "BoundAttributeParameters": [] 608 | }, 609 | { 610 | "Kind": "ITagHelper", 611 | "Name": "vary-by-route", 612 | "TypeName": "System.String", 613 | "IsEnum": false, 614 | "IndexerNamePrefix": null, 615 | "IndexerTypeName": null, 616 | "Documentation": "\n \n Gets or sets a comma-delimited set of route data parameters to vary the cached result by.\n \n ", 617 | "Diagnostics": [], 618 | "Metadata": { 619 | "Common.PropertyName": "VaryByRoute" 620 | }, 621 | "BoundAttributeParameters": [] 622 | }, 623 | { 624 | "Kind": "ITagHelper", 625 | "Name": "vary-by-cookie", 626 | "TypeName": "System.String", 627 | "IsEnum": false, 628 | "IndexerNamePrefix": null, 629 | "IndexerTypeName": null, 630 | "Documentation": "\n \n Gets or sets a comma-delimited set of cookie names to vary the cached result by.\n \n ", 631 | "Diagnostics": [], 632 | "Metadata": { 633 | "Common.PropertyName": "VaryByCookie" 634 | }, 635 | "BoundAttributeParameters": [] 636 | }, 637 | { 638 | "Kind": "ITagHelper", 639 | "Name": "vary-by-user", 640 | "TypeName": "System.Boolean", 641 | "IsEnum": false, 642 | "IndexerNamePrefix": null, 643 | "IndexerTypeName": null, 644 | "Documentation": "\n \n Gets or sets a value that determines if the cached result is to be varied by the Identity for the logged in\n .\n \n ", 645 | "Diagnostics": [], 646 | "Metadata": { 647 | "Common.PropertyName": "VaryByUser" 648 | }, 649 | "BoundAttributeParameters": [] 650 | }, 651 | { 652 | "Kind": "ITagHelper", 653 | "Name": "expires-on", 654 | "TypeName": "System.DateTimeOffset?", 655 | "IsEnum": false, 656 | "IndexerNamePrefix": null, 657 | "IndexerTypeName": null, 658 | "Documentation": "\n \n Gets or sets the exact the cache entry should be evicted.\n \n ", 659 | "Diagnostics": [], 660 | "Metadata": { 661 | "Common.PropertyName": "ExpiresOn" 662 | }, 663 | "BoundAttributeParameters": [] 664 | }, 665 | { 666 | "Kind": "ITagHelper", 667 | "Name": "expires-after", 668 | "TypeName": "System.TimeSpan?", 669 | "IsEnum": false, 670 | "IndexerNamePrefix": null, 671 | "IndexerTypeName": null, 672 | "Documentation": "\n \n Gets or sets the duration, from the time the cache entry was added, when it should be evicted.\n \n ", 673 | "Diagnostics": [], 674 | "Metadata": { 675 | "Common.PropertyName": "ExpiresAfter" 676 | }, 677 | "BoundAttributeParameters": [] 678 | }, 679 | { 680 | "Kind": "ITagHelper", 681 | "Name": "expires-sliding", 682 | "TypeName": "System.TimeSpan?", 683 | "IsEnum": false, 684 | "IndexerNamePrefix": null, 685 | "IndexerTypeName": null, 686 | "Documentation": "\n \n Gets or sets the duration from last access that the cache entry should be evicted.\n \n ", 687 | "Diagnostics": [], 688 | "Metadata": { 689 | "Common.PropertyName": "ExpiresSliding" 690 | }, 691 | "BoundAttributeParameters": [] 692 | }, 693 | { 694 | "Kind": "ITagHelper", 695 | "Name": "enabled", 696 | "TypeName": "System.Boolean", 697 | "IsEnum": false, 698 | "IndexerNamePrefix": null, 699 | "IndexerTypeName": null, 700 | "Documentation": "\n \n Gets or sets the value which determines if the tag helper is enabled or not.\n \n ", 701 | "Diagnostics": [], 702 | "Metadata": { 703 | "Common.PropertyName": "Enabled" 704 | }, 705 | "BoundAttributeParameters": [] 706 | } 707 | ], 708 | "AllowedChildTags": [], 709 | "Diagnostics": [], 710 | "Metadata": { 711 | "Runtime.Name": "ITagHelper", 712 | "Common.TypeName": "Microsoft.AspNetCore.Mvc.TagHelpers.DistributedCacheTagHelper" 713 | } 714 | }, 715 | { 716 | "Kind": "ITagHelper", 717 | "Name": "Microsoft.AspNetCore.Mvc.TagHelpers.EnvironmentTagHelper", 718 | "AssemblyName": "Microsoft.AspNetCore.Mvc.TagHelpers", 719 | "Documentation": "\n \n implementation targeting <environment> elements that conditionally renders\n content based on the current value of .\n If the environment is not listed in the specified or , \n or if it is in , the content will not be rendered.\n \n ", 720 | "TagOutputHint": null, 721 | "CaseSensitive": false, 722 | "TagMatchingRules": [ 723 | { 724 | "TagName": "environment", 725 | "ParentTag": null, 726 | "TagStructure": 0, 727 | "Attributes": [], 728 | "Diagnostics": [] 729 | } 730 | ], 731 | "BoundAttributes": [ 732 | { 733 | "Kind": "ITagHelper", 734 | "Name": "names", 735 | "TypeName": "System.String", 736 | "IsEnum": false, 737 | "IndexerNamePrefix": null, 738 | "IndexerTypeName": null, 739 | "Documentation": "\n \n A comma separated list of environment names in which the content should be rendered.\n If the current environment is also in the list, the content will not be rendered.\n \n \n The specified environment names are compared case insensitively to the current value of\n .\n \n ", 740 | "Diagnostics": [], 741 | "Metadata": { 742 | "Common.PropertyName": "Names" 743 | }, 744 | "BoundAttributeParameters": [] 745 | }, 746 | { 747 | "Kind": "ITagHelper", 748 | "Name": "include", 749 | "TypeName": "System.String", 750 | "IsEnum": false, 751 | "IndexerNamePrefix": null, 752 | "IndexerTypeName": null, 753 | "Documentation": "\n \n A comma separated list of environment names in which the content should be rendered.\n If the current environment is also in the list, the content will not be rendered.\n \n \n The specified environment names are compared case insensitively to the current value of\n .\n \n ", 754 | "Diagnostics": [], 755 | "Metadata": { 756 | "Common.PropertyName": "Include" 757 | }, 758 | "BoundAttributeParameters": [] 759 | }, 760 | { 761 | "Kind": "ITagHelper", 762 | "Name": "exclude", 763 | "TypeName": "System.String", 764 | "IsEnum": false, 765 | "IndexerNamePrefix": null, 766 | "IndexerTypeName": null, 767 | "Documentation": "\n \n A comma separated list of environment names in which the content will not be rendered.\n \n \n The specified environment names are compared case insensitively to the current value of\n .\n \n ", 768 | "Diagnostics": [], 769 | "Metadata": { 770 | "Common.PropertyName": "Exclude" 771 | }, 772 | "BoundAttributeParameters": [] 773 | } 774 | ], 775 | "AllowedChildTags": [], 776 | "Diagnostics": [], 777 | "Metadata": { 778 | "Runtime.Name": "ITagHelper", 779 | "Common.TypeName": "Microsoft.AspNetCore.Mvc.TagHelpers.EnvironmentTagHelper" 780 | } 781 | }, 782 | { 783 | "Kind": "ITagHelper", 784 | "Name": "Microsoft.AspNetCore.Mvc.TagHelpers.FormActionTagHelper", 785 | "AssemblyName": "Microsoft.AspNetCore.Mvc.TagHelpers", 786 | "Documentation": "\n \n implementation targeting <button> elements and <input> elements with\n their type attribute set to image or submit.\n \n ", 787 | "TagOutputHint": null, 788 | "CaseSensitive": false, 789 | "TagMatchingRules": [ 790 | { 791 | "TagName": "button", 792 | "ParentTag": null, 793 | "TagStructure": 0, 794 | "Attributes": [ 795 | { 796 | "Name": "asp-action", 797 | "NameComparison": 0, 798 | "Value": null, 799 | "ValueComparison": 0, 800 | "Diagnostics": [], 801 | "Metadata": {} 802 | } 803 | ], 804 | "Diagnostics": [] 805 | }, 806 | { 807 | "TagName": "button", 808 | "ParentTag": null, 809 | "TagStructure": 0, 810 | "Attributes": [ 811 | { 812 | "Name": "asp-controller", 813 | "NameComparison": 0, 814 | "Value": null, 815 | "ValueComparison": 0, 816 | "Diagnostics": [], 817 | "Metadata": {} 818 | } 819 | ], 820 | "Diagnostics": [] 821 | }, 822 | { 823 | "TagName": "button", 824 | "ParentTag": null, 825 | "TagStructure": 0, 826 | "Attributes": [ 827 | { 828 | "Name": "asp-area", 829 | "NameComparison": 0, 830 | "Value": null, 831 | "ValueComparison": 0, 832 | "Diagnostics": [], 833 | "Metadata": {} 834 | } 835 | ], 836 | "Diagnostics": [] 837 | }, 838 | { 839 | "TagName": "button", 840 | "ParentTag": null, 841 | "TagStructure": 0, 842 | "Attributes": [ 843 | { 844 | "Name": "asp-page", 845 | "NameComparison": 0, 846 | "Value": null, 847 | "ValueComparison": 0, 848 | "Diagnostics": [], 849 | "Metadata": {} 850 | } 851 | ], 852 | "Diagnostics": [] 853 | }, 854 | { 855 | "TagName": "button", 856 | "ParentTag": null, 857 | "TagStructure": 0, 858 | "Attributes": [ 859 | { 860 | "Name": "asp-page-handler", 861 | "NameComparison": 0, 862 | "Value": null, 863 | "ValueComparison": 0, 864 | "Diagnostics": [], 865 | "Metadata": {} 866 | } 867 | ], 868 | "Diagnostics": [] 869 | }, 870 | { 871 | "TagName": "button", 872 | "ParentTag": null, 873 | "TagStructure": 0, 874 | "Attributes": [ 875 | { 876 | "Name": "asp-fragment", 877 | "NameComparison": 0, 878 | "Value": null, 879 | "ValueComparison": 0, 880 | "Diagnostics": [], 881 | "Metadata": {} 882 | } 883 | ], 884 | "Diagnostics": [] 885 | }, 886 | { 887 | "TagName": "button", 888 | "ParentTag": null, 889 | "TagStructure": 0, 890 | "Attributes": [ 891 | { 892 | "Name": "asp-route", 893 | "NameComparison": 0, 894 | "Value": null, 895 | "ValueComparison": 0, 896 | "Diagnostics": [], 897 | "Metadata": {} 898 | } 899 | ], 900 | "Diagnostics": [] 901 | }, 902 | { 903 | "TagName": "button", 904 | "ParentTag": null, 905 | "TagStructure": 0, 906 | "Attributes": [ 907 | { 908 | "Name": "asp-all-route-data", 909 | "NameComparison": 0, 910 | "Value": null, 911 | "ValueComparison": 0, 912 | "Diagnostics": [], 913 | "Metadata": {} 914 | } 915 | ], 916 | "Diagnostics": [] 917 | }, 918 | { 919 | "TagName": "button", 920 | "ParentTag": null, 921 | "TagStructure": 0, 922 | "Attributes": [ 923 | { 924 | "Name": "asp-route-", 925 | "NameComparison": 1, 926 | "Value": null, 927 | "ValueComparison": 0, 928 | "Diagnostics": [], 929 | "Metadata": {} 930 | } 931 | ], 932 | "Diagnostics": [] 933 | }, 934 | { 935 | "TagName": "input", 936 | "ParentTag": null, 937 | "TagStructure": 2, 938 | "Attributes": [ 939 | { 940 | "Name": "type", 941 | "NameComparison": 0, 942 | "Value": "image", 943 | "ValueComparison": 1, 944 | "Diagnostics": [], 945 | "Metadata": {} 946 | }, 947 | { 948 | "Name": "asp-action", 949 | "NameComparison": 0, 950 | "Value": null, 951 | "ValueComparison": 0, 952 | "Diagnostics": [], 953 | "Metadata": {} 954 | } 955 | ], 956 | "Diagnostics": [] 957 | }, 958 | { 959 | "TagName": "input", 960 | "ParentTag": null, 961 | "TagStructure": 2, 962 | "Attributes": [ 963 | { 964 | "Name": "type", 965 | "NameComparison": 0, 966 | "Value": "image", 967 | "ValueComparison": 1, 968 | "Diagnostics": [], 969 | "Metadata": {} 970 | }, 971 | { 972 | "Name": "asp-controller", 973 | "NameComparison": 0, 974 | "Value": null, 975 | "ValueComparison": 0, 976 | "Diagnostics": [], 977 | "Metadata": {} 978 | } 979 | ], 980 | "Diagnostics": [] 981 | }, 982 | { 983 | "TagName": "input", 984 | "ParentTag": null, 985 | "TagStructure": 2, 986 | "Attributes": [ 987 | { 988 | "Name": "type", 989 | "NameComparison": 0, 990 | "Value": "image", 991 | "ValueComparison": 1, 992 | "Diagnostics": [], 993 | "Metadata": {} 994 | }, 995 | { 996 | "Name": "asp-area", 997 | "NameComparison": 0, 998 | "Value": null, 999 | "ValueComparison": 0, 1000 | "Diagnostics": [], 1001 | "Metadata": {} 1002 | } 1003 | ], 1004 | "Diagnostics": [] 1005 | }, 1006 | { 1007 | "TagName": "input", 1008 | "ParentTag": null, 1009 | "TagStructure": 2, 1010 | "Attributes": [ 1011 | { 1012 | "Name": "type", 1013 | "NameComparison": 0, 1014 | "Value": "image", 1015 | "ValueComparison": 1, 1016 | "Diagnostics": [], 1017 | "Metadata": {} 1018 | }, 1019 | { 1020 | "Name": "asp-page", 1021 | "NameComparison": 0, 1022 | "Value": null, 1023 | "ValueComparison": 0, 1024 | "Diagnostics": [], 1025 | "Metadata": {} 1026 | } 1027 | ], 1028 | "Diagnostics": [] 1029 | }, 1030 | { 1031 | "TagName": "input", 1032 | "ParentTag": null, 1033 | "TagStructure": 2, 1034 | "Attributes": [ 1035 | { 1036 | "Name": "type", 1037 | "NameComparison": 0, 1038 | "Value": "image", 1039 | "ValueComparison": 1, 1040 | "Diagnostics": [], 1041 | "Metadata": {} 1042 | }, 1043 | { 1044 | "Name": "asp-page-handler", 1045 | "NameComparison": 0, 1046 | "Value": null, 1047 | "ValueComparison": 0, 1048 | "Diagnostics": [], 1049 | "Metadata": {} 1050 | } 1051 | ], 1052 | "Diagnostics": [] 1053 | }, 1054 | { 1055 | "TagName": "input", 1056 | "ParentTag": null, 1057 | "TagStructure": 2, 1058 | "Attributes": [ 1059 | { 1060 | "Name": "type", 1061 | "NameComparison": 0, 1062 | "Value": "image", 1063 | "ValueComparison": 1, 1064 | "Diagnostics": [], 1065 | "Metadata": {} 1066 | }, 1067 | { 1068 | "Name": "asp-fragment", 1069 | "NameComparison": 0, 1070 | "Value": null, 1071 | "ValueComparison": 0, 1072 | "Diagnostics": [], 1073 | "Metadata": {} 1074 | } 1075 | ], 1076 | "Diagnostics": [] 1077 | }, 1078 | { 1079 | "TagName": "input", 1080 | "ParentTag": null, 1081 | "TagStructure": 2, 1082 | "Attributes": [ 1083 | { 1084 | "Name": "type", 1085 | "NameComparison": 0, 1086 | "Value": "image", 1087 | "ValueComparison": 1, 1088 | "Diagnostics": [], 1089 | "Metadata": {} 1090 | }, 1091 | { 1092 | "Name": "asp-route", 1093 | "NameComparison": 0, 1094 | "Value": null, 1095 | "ValueComparison": 0, 1096 | "Diagnostics": [], 1097 | "Metadata": {} 1098 | } 1099 | ], 1100 | "Diagnostics": [] 1101 | }, 1102 | { 1103 | "TagName": "input", 1104 | "ParentTag": null, 1105 | "TagStructure": 2, 1106 | "Attributes": [ 1107 | { 1108 | "Name": "type", 1109 | "NameComparison": 0, 1110 | "Value": "image", 1111 | "ValueComparison": 1, 1112 | "Diagnostics": [], 1113 | "Metadata": {} 1114 | }, 1115 | { 1116 | "Name": "asp-all-route-data", 1117 | "NameComparison": 0, 1118 | "Value": null, 1119 | "ValueComparison": 0, 1120 | "Diagnostics": [], 1121 | "Metadata": {} 1122 | } 1123 | ], 1124 | "Diagnostics": [] 1125 | }, 1126 | { 1127 | "TagName": "input", 1128 | "ParentTag": null, 1129 | "TagStructure": 2, 1130 | "Attributes": [ 1131 | { 1132 | "Name": "type", 1133 | "NameComparison": 0, 1134 | "Value": "image", 1135 | "ValueComparison": 1, 1136 | "Diagnostics": [], 1137 | "Metadata": {} 1138 | }, 1139 | { 1140 | "Name": "asp-route-", 1141 | "NameComparison": 1, 1142 | "Value": null, 1143 | "ValueComparison": 0, 1144 | "Diagnostics": [], 1145 | "Metadata": {} 1146 | } 1147 | ], 1148 | "Diagnostics": [] 1149 | }, 1150 | { 1151 | "TagName": "input", 1152 | "ParentTag": null, 1153 | "TagStructure": 2, 1154 | "Attributes": [ 1155 | { 1156 | "Name": "type", 1157 | "NameComparison": 0, 1158 | "Value": "submit", 1159 | "ValueComparison": 1, 1160 | "Diagnostics": [], 1161 | "Metadata": {} 1162 | }, 1163 | { 1164 | "Name": "asp-action", 1165 | "NameComparison": 0, 1166 | "Value": null, 1167 | "ValueComparison": 0, 1168 | "Diagnostics": [], 1169 | "Metadata": {} 1170 | } 1171 | ], 1172 | "Diagnostics": [] 1173 | }, 1174 | { 1175 | "TagName": "input", 1176 | "ParentTag": null, 1177 | "TagStructure": 2, 1178 | "Attributes": [ 1179 | { 1180 | "Name": "type", 1181 | "NameComparison": 0, 1182 | "Value": "submit", 1183 | "ValueComparison": 1, 1184 | "Diagnostics": [], 1185 | "Metadata": {} 1186 | }, 1187 | { 1188 | "Name": "asp-controller", 1189 | "NameComparison": 0, 1190 | "Value": null, 1191 | "ValueComparison": 0, 1192 | "Diagnostics": [], 1193 | "Metadata": {} 1194 | } 1195 | ], 1196 | "Diagnostics": [] 1197 | }, 1198 | { 1199 | "TagName": "input", 1200 | "ParentTag": null, 1201 | "TagStructure": 2, 1202 | "Attributes": [ 1203 | { 1204 | "Name": "type", 1205 | "NameComparison": 0, 1206 | "Value": "submit", 1207 | "ValueComparison": 1, 1208 | "Diagnostics": [], 1209 | "Metadata": {} 1210 | }, 1211 | { 1212 | "Name": "asp-area", 1213 | "NameComparison": 0, 1214 | "Value": null, 1215 | "ValueComparison": 0, 1216 | "Diagnostics": [], 1217 | "Metadata": {} 1218 | } 1219 | ], 1220 | "Diagnostics": [] 1221 | }, 1222 | { 1223 | "TagName": "input", 1224 | "ParentTag": null, 1225 | "TagStructure": 2, 1226 | "Attributes": [ 1227 | { 1228 | "Name": "type", 1229 | "NameComparison": 0, 1230 | "Value": "submit", 1231 | "ValueComparison": 1, 1232 | "Diagnostics": [], 1233 | "Metadata": {} 1234 | }, 1235 | { 1236 | "Name": "asp-page", 1237 | "NameComparison": 0, 1238 | "Value": null, 1239 | "ValueComparison": 0, 1240 | "Diagnostics": [], 1241 | "Metadata": {} 1242 | } 1243 | ], 1244 | "Diagnostics": [] 1245 | }, 1246 | { 1247 | "TagName": "input", 1248 | "ParentTag": null, 1249 | "TagStructure": 2, 1250 | "Attributes": [ 1251 | { 1252 | "Name": "type", 1253 | "NameComparison": 0, 1254 | "Value": "submit", 1255 | "ValueComparison": 1, 1256 | "Diagnostics": [], 1257 | "Metadata": {} 1258 | }, 1259 | { 1260 | "Name": "asp-page-handler", 1261 | "NameComparison": 0, 1262 | "Value": null, 1263 | "ValueComparison": 0, 1264 | "Diagnostics": [], 1265 | "Metadata": {} 1266 | } 1267 | ], 1268 | "Diagnostics": [] 1269 | }, 1270 | { 1271 | "TagName": "input", 1272 | "ParentTag": null, 1273 | "TagStructure": 2, 1274 | "Attributes": [ 1275 | { 1276 | "Name": "type", 1277 | "NameComparison": 0, 1278 | "Value": "submit", 1279 | "ValueComparison": 1, 1280 | "Diagnostics": [], 1281 | "Metadata": {} 1282 | }, 1283 | { 1284 | "Name": "asp-fragment", 1285 | "NameComparison": 0, 1286 | "Value": null, 1287 | "ValueComparison": 0, 1288 | "Diagnostics": [], 1289 | "Metadata": {} 1290 | } 1291 | ], 1292 | "Diagnostics": [] 1293 | }, 1294 | { 1295 | "TagName": "input", 1296 | "ParentTag": null, 1297 | "TagStructure": 2, 1298 | "Attributes": [ 1299 | { 1300 | "Name": "type", 1301 | "NameComparison": 0, 1302 | "Value": "submit", 1303 | "ValueComparison": 1, 1304 | "Diagnostics": [], 1305 | "Metadata": {} 1306 | }, 1307 | { 1308 | "Name": "asp-route", 1309 | "NameComparison": 0, 1310 | "Value": null, 1311 | "ValueComparison": 0, 1312 | "Diagnostics": [], 1313 | "Metadata": {} 1314 | } 1315 | ], 1316 | "Diagnostics": [] 1317 | }, 1318 | { 1319 | "TagName": "input", 1320 | "ParentTag": null, 1321 | "TagStructure": 2, 1322 | "Attributes": [ 1323 | { 1324 | "Name": "type", 1325 | "NameComparison": 0, 1326 | "Value": "submit", 1327 | "ValueComparison": 1, 1328 | "Diagnostics": [], 1329 | "Metadata": {} 1330 | }, 1331 | { 1332 | "Name": "asp-all-route-data", 1333 | "NameComparison": 0, 1334 | "Value": null, 1335 | "ValueComparison": 0, 1336 | "Diagnostics": [], 1337 | "Metadata": {} 1338 | } 1339 | ], 1340 | "Diagnostics": [] 1341 | }, 1342 | { 1343 | "TagName": "input", 1344 | "ParentTag": null, 1345 | "TagStructure": 2, 1346 | "Attributes": [ 1347 | { 1348 | "Name": "type", 1349 | "NameComparison": 0, 1350 | "Value": "submit", 1351 | "ValueComparison": 1, 1352 | "Diagnostics": [], 1353 | "Metadata": {} 1354 | }, 1355 | { 1356 | "Name": "asp-route-", 1357 | "NameComparison": 1, 1358 | "Value": null, 1359 | "ValueComparison": 0, 1360 | "Diagnostics": [], 1361 | "Metadata": {} 1362 | } 1363 | ], 1364 | "Diagnostics": [] 1365 | } 1366 | ], 1367 | "BoundAttributes": [ 1368 | { 1369 | "Kind": "ITagHelper", 1370 | "Name": "asp-action", 1371 | "TypeName": "System.String", 1372 | "IsEnum": false, 1373 | "IndexerNamePrefix": null, 1374 | "IndexerTypeName": null, 1375 | "Documentation": "\n \n The name of the action method.\n \n ", 1376 | "Diagnostics": [], 1377 | "Metadata": { 1378 | "Common.PropertyName": "Action" 1379 | }, 1380 | "BoundAttributeParameters": [] 1381 | }, 1382 | { 1383 | "Kind": "ITagHelper", 1384 | "Name": "asp-controller", 1385 | "TypeName": "System.String", 1386 | "IsEnum": false, 1387 | "IndexerNamePrefix": null, 1388 | "IndexerTypeName": null, 1389 | "Documentation": "\n \n The name of the controller.\n \n ", 1390 | "Diagnostics": [], 1391 | "Metadata": { 1392 | "Common.PropertyName": "Controller" 1393 | }, 1394 | "BoundAttributeParameters": [] 1395 | }, 1396 | { 1397 | "Kind": "ITagHelper", 1398 | "Name": "asp-area", 1399 | "TypeName": "System.String", 1400 | "IsEnum": false, 1401 | "IndexerNamePrefix": null, 1402 | "IndexerTypeName": null, 1403 | "Documentation": "\n \n The name of the area.\n \n ", 1404 | "Diagnostics": [], 1405 | "Metadata": { 1406 | "Common.PropertyName": "Area" 1407 | }, 1408 | "BoundAttributeParameters": [] 1409 | }, 1410 | { 1411 | "Kind": "ITagHelper", 1412 | "Name": "asp-page", 1413 | "TypeName": "System.String", 1414 | "IsEnum": false, 1415 | "IndexerNamePrefix": null, 1416 | "IndexerTypeName": null, 1417 | "Documentation": "\n \n The name of the page.\n \n ", 1418 | "Diagnostics": [], 1419 | "Metadata": { 1420 | "Common.PropertyName": "Page" 1421 | }, 1422 | "BoundAttributeParameters": [] 1423 | }, 1424 | { 1425 | "Kind": "ITagHelper", 1426 | "Name": "asp-page-handler", 1427 | "TypeName": "System.String", 1428 | "IsEnum": false, 1429 | "IndexerNamePrefix": null, 1430 | "IndexerTypeName": null, 1431 | "Documentation": "\n \n The name of the page handler.\n \n ", 1432 | "Diagnostics": [], 1433 | "Metadata": { 1434 | "Common.PropertyName": "PageHandler" 1435 | }, 1436 | "BoundAttributeParameters": [] 1437 | }, 1438 | { 1439 | "Kind": "ITagHelper", 1440 | "Name": "asp-fragment", 1441 | "TypeName": "System.String", 1442 | "IsEnum": false, 1443 | "IndexerNamePrefix": null, 1444 | "IndexerTypeName": null, 1445 | "Documentation": "\n \n Gets or sets the URL fragment.\n \n ", 1446 | "Diagnostics": [], 1447 | "Metadata": { 1448 | "Common.PropertyName": "Fragment" 1449 | }, 1450 | "BoundAttributeParameters": [] 1451 | }, 1452 | { 1453 | "Kind": "ITagHelper", 1454 | "Name": "asp-route", 1455 | "TypeName": "System.String", 1456 | "IsEnum": false, 1457 | "IndexerNamePrefix": null, 1458 | "IndexerTypeName": null, 1459 | "Documentation": "\n \n Name of the route.\n \n \n Must be null if or is non-null.\n \n ", 1460 | "Diagnostics": [], 1461 | "Metadata": { 1462 | "Common.PropertyName": "Route" 1463 | }, 1464 | "BoundAttributeParameters": [] 1465 | }, 1466 | { 1467 | "Kind": "ITagHelper", 1468 | "Name": "asp-all-route-data", 1469 | "TypeName": "System.Collections.Generic.IDictionary", 1470 | "IsEnum": false, 1471 | "IndexerNamePrefix": "asp-route-", 1472 | "IndexerTypeName": "System.String", 1473 | "Documentation": "\n \n Additional parameters for the route.\n \n ", 1474 | "Diagnostics": [], 1475 | "Metadata": { 1476 | "Common.PropertyName": "RouteValues" 1477 | }, 1478 | "BoundAttributeParameters": [] 1479 | } 1480 | ], 1481 | "AllowedChildTags": [], 1482 | "Diagnostics": [], 1483 | "Metadata": { 1484 | "Runtime.Name": "ITagHelper", 1485 | "Common.TypeName": "Microsoft.AspNetCore.Mvc.TagHelpers.FormActionTagHelper" 1486 | } 1487 | }, 1488 | { 1489 | "Kind": "ITagHelper", 1490 | "Name": "Microsoft.AspNetCore.Mvc.TagHelpers.FormTagHelper", 1491 | "AssemblyName": "Microsoft.AspNetCore.Mvc.TagHelpers", 1492 | "Documentation": "\n \n implementation targeting <form> elements.\n \n ", 1493 | "TagOutputHint": null, 1494 | "CaseSensitive": false, 1495 | "TagMatchingRules": [ 1496 | { 1497 | "TagName": "form", 1498 | "ParentTag": null, 1499 | "TagStructure": 0, 1500 | "Attributes": [], 1501 | "Diagnostics": [] 1502 | } 1503 | ], 1504 | "BoundAttributes": [ 1505 | { 1506 | "Kind": "ITagHelper", 1507 | "Name": "asp-action", 1508 | "TypeName": "System.String", 1509 | "IsEnum": false, 1510 | "IndexerNamePrefix": null, 1511 | "IndexerTypeName": null, 1512 | "Documentation": "\n \n The name of the action method.\n \n ", 1513 | "Diagnostics": [], 1514 | "Metadata": { 1515 | "Common.PropertyName": "Action" 1516 | }, 1517 | "BoundAttributeParameters": [] 1518 | }, 1519 | { 1520 | "Kind": "ITagHelper", 1521 | "Name": "asp-controller", 1522 | "TypeName": "System.String", 1523 | "IsEnum": false, 1524 | "IndexerNamePrefix": null, 1525 | "IndexerTypeName": null, 1526 | "Documentation": "\n \n The name of the controller.\n \n ", 1527 | "Diagnostics": [], 1528 | "Metadata": { 1529 | "Common.PropertyName": "Controller" 1530 | }, 1531 | "BoundAttributeParameters": [] 1532 | }, 1533 | { 1534 | "Kind": "ITagHelper", 1535 | "Name": "asp-area", 1536 | "TypeName": "System.String", 1537 | "IsEnum": false, 1538 | "IndexerNamePrefix": null, 1539 | "IndexerTypeName": null, 1540 | "Documentation": "\n \n The name of the area.\n \n ", 1541 | "Diagnostics": [], 1542 | "Metadata": { 1543 | "Common.PropertyName": "Area" 1544 | }, 1545 | "BoundAttributeParameters": [] 1546 | }, 1547 | { 1548 | "Kind": "ITagHelper", 1549 | "Name": "asp-page", 1550 | "TypeName": "System.String", 1551 | "IsEnum": false, 1552 | "IndexerNamePrefix": null, 1553 | "IndexerTypeName": null, 1554 | "Documentation": "\n \n The name of the page.\n \n ", 1555 | "Diagnostics": [], 1556 | "Metadata": { 1557 | "Common.PropertyName": "Page" 1558 | }, 1559 | "BoundAttributeParameters": [] 1560 | }, 1561 | { 1562 | "Kind": "ITagHelper", 1563 | "Name": "asp-page-handler", 1564 | "TypeName": "System.String", 1565 | "IsEnum": false, 1566 | "IndexerNamePrefix": null, 1567 | "IndexerTypeName": null, 1568 | "Documentation": "\n \n The name of the page handler.\n \n ", 1569 | "Diagnostics": [], 1570 | "Metadata": { 1571 | "Common.PropertyName": "PageHandler" 1572 | }, 1573 | "BoundAttributeParameters": [] 1574 | }, 1575 | { 1576 | "Kind": "ITagHelper", 1577 | "Name": "asp-antiforgery", 1578 | "TypeName": "System.Boolean?", 1579 | "IsEnum": false, 1580 | "IndexerNamePrefix": null, 1581 | "IndexerTypeName": null, 1582 | "Documentation": "\n \n Whether the antiforgery token should be generated.\n \n Defaults to false if user provides an action attribute\n or if the method is ; true otherwise.\n ", 1583 | "Diagnostics": [], 1584 | "Metadata": { 1585 | "Common.PropertyName": "Antiforgery" 1586 | }, 1587 | "BoundAttributeParameters": [] 1588 | }, 1589 | { 1590 | "Kind": "ITagHelper", 1591 | "Name": "asp-fragment", 1592 | "TypeName": "System.String", 1593 | "IsEnum": false, 1594 | "IndexerNamePrefix": null, 1595 | "IndexerTypeName": null, 1596 | "Documentation": "\n \n Gets or sets the URL fragment.\n \n ", 1597 | "Diagnostics": [], 1598 | "Metadata": { 1599 | "Common.PropertyName": "Fragment" 1600 | }, 1601 | "BoundAttributeParameters": [] 1602 | }, 1603 | { 1604 | "Kind": "ITagHelper", 1605 | "Name": "asp-route", 1606 | "TypeName": "System.String", 1607 | "IsEnum": false, 1608 | "IndexerNamePrefix": null, 1609 | "IndexerTypeName": null, 1610 | "Documentation": "\n \n Name of the route.\n \n \n Must be null if or is non-null.\n \n ", 1611 | "Diagnostics": [], 1612 | "Metadata": { 1613 | "Common.PropertyName": "Route" 1614 | }, 1615 | "BoundAttributeParameters": [] 1616 | }, 1617 | { 1618 | "Kind": "ITagHelper", 1619 | "Name": "asp-all-route-data", 1620 | "TypeName": "System.Collections.Generic.IDictionary", 1621 | "IsEnum": false, 1622 | "IndexerNamePrefix": "asp-route-", 1623 | "IndexerTypeName": "System.String", 1624 | "Documentation": "\n \n Additional parameters for the route.\n \n ", 1625 | "Diagnostics": [], 1626 | "Metadata": { 1627 | "Common.PropertyName": "RouteValues" 1628 | }, 1629 | "BoundAttributeParameters": [] 1630 | } 1631 | ], 1632 | "AllowedChildTags": [], 1633 | "Diagnostics": [], 1634 | "Metadata": { 1635 | "Runtime.Name": "ITagHelper", 1636 | "Common.TypeName": "Microsoft.AspNetCore.Mvc.TagHelpers.FormTagHelper" 1637 | } 1638 | }, 1639 | { 1640 | "Kind": "ITagHelper", 1641 | "Name": "Microsoft.AspNetCore.Mvc.TagHelpers.ImageTagHelper", 1642 | "AssemblyName": "Microsoft.AspNetCore.Mvc.TagHelpers", 1643 | "Documentation": "\n \n implementation targeting <img> elements that supports file versioning.\n \n \n The tag helper won't process for cases with just the 'src' attribute.\n \n ", 1644 | "TagOutputHint": null, 1645 | "CaseSensitive": false, 1646 | "TagMatchingRules": [ 1647 | { 1648 | "TagName": "img", 1649 | "ParentTag": null, 1650 | "TagStructure": 2, 1651 | "Attributes": [ 1652 | { 1653 | "Name": "asp-append-version", 1654 | "NameComparison": 0, 1655 | "Value": null, 1656 | "ValueComparison": 0, 1657 | "Diagnostics": [], 1658 | "Metadata": {} 1659 | }, 1660 | { 1661 | "Name": "src", 1662 | "NameComparison": 0, 1663 | "Value": null, 1664 | "ValueComparison": 0, 1665 | "Diagnostics": [], 1666 | "Metadata": {} 1667 | } 1668 | ], 1669 | "Diagnostics": [] 1670 | } 1671 | ], 1672 | "BoundAttributes": [ 1673 | { 1674 | "Kind": "ITagHelper", 1675 | "Name": "src", 1676 | "TypeName": "System.String", 1677 | "IsEnum": false, 1678 | "IndexerNamePrefix": null, 1679 | "IndexerTypeName": null, 1680 | "Documentation": "\n \n Source of the image.\n \n \n Passed through to the generated HTML in all cases.\n \n ", 1681 | "Diagnostics": [], 1682 | "Metadata": { 1683 | "Common.PropertyName": "Src" 1684 | }, 1685 | "BoundAttributeParameters": [] 1686 | }, 1687 | { 1688 | "Kind": "ITagHelper", 1689 | "Name": "asp-append-version", 1690 | "TypeName": "System.Boolean", 1691 | "IsEnum": false, 1692 | "IndexerNamePrefix": null, 1693 | "IndexerTypeName": null, 1694 | "Documentation": "\n \n Value indicating if file version should be appended to the src urls.\n \n \n If true then a query string \"v\" with the encoded content of the file is added.\n \n ", 1695 | "Diagnostics": [], 1696 | "Metadata": { 1697 | "Common.PropertyName": "AppendVersion" 1698 | }, 1699 | "BoundAttributeParameters": [] 1700 | } 1701 | ], 1702 | "AllowedChildTags": [], 1703 | "Diagnostics": [], 1704 | "Metadata": { 1705 | "Runtime.Name": "ITagHelper", 1706 | "Common.TypeName": "Microsoft.AspNetCore.Mvc.TagHelpers.ImageTagHelper" 1707 | } 1708 | }, 1709 | { 1710 | "Kind": "ITagHelper", 1711 | "Name": "Microsoft.AspNetCore.Mvc.TagHelpers.InputTagHelper", 1712 | "AssemblyName": "Microsoft.AspNetCore.Mvc.TagHelpers", 1713 | "Documentation": "\n \n implementation targeting <input> elements with an asp-for attribute.\n \n ", 1714 | "TagOutputHint": null, 1715 | "CaseSensitive": false, 1716 | "TagMatchingRules": [ 1717 | { 1718 | "TagName": "input", 1719 | "ParentTag": null, 1720 | "TagStructure": 2, 1721 | "Attributes": [ 1722 | { 1723 | "Name": "asp-for", 1724 | "NameComparison": 0, 1725 | "Value": null, 1726 | "ValueComparison": 0, 1727 | "Diagnostics": [], 1728 | "Metadata": {} 1729 | } 1730 | ], 1731 | "Diagnostics": [] 1732 | } 1733 | ], 1734 | "BoundAttributes": [ 1735 | { 1736 | "Kind": "ITagHelper", 1737 | "Name": "asp-for", 1738 | "TypeName": "Microsoft.AspNetCore.Mvc.ViewFeatures.ModelExpression", 1739 | "IsEnum": false, 1740 | "IndexerNamePrefix": null, 1741 | "IndexerTypeName": null, 1742 | "Documentation": "\n \n An expression to be evaluated against the current model.\n \n ", 1743 | "Diagnostics": [], 1744 | "Metadata": { 1745 | "Common.PropertyName": "For" 1746 | }, 1747 | "BoundAttributeParameters": [] 1748 | }, 1749 | { 1750 | "Kind": "ITagHelper", 1751 | "Name": "asp-format", 1752 | "TypeName": "System.String", 1753 | "IsEnum": false, 1754 | "IndexerNamePrefix": null, 1755 | "IndexerTypeName": null, 1756 | "Documentation": "\n \n The format string (see https://msdn.microsoft.com/en-us/library/txafckwd.aspx) used to format the\n result. Sets the generated \"value\" attribute to that formatted string.\n \n \n Not used if the provided (see ) or calculated \"type\" attribute value is\n checkbox, password, or radio. That is, is used when calling\n .\n \n ", 1757 | "Diagnostics": [], 1758 | "Metadata": { 1759 | "Common.PropertyName": "Format" 1760 | }, 1761 | "BoundAttributeParameters": [] 1762 | }, 1763 | { 1764 | "Kind": "ITagHelper", 1765 | "Name": "type", 1766 | "TypeName": "System.String", 1767 | "IsEnum": false, 1768 | "IndexerNamePrefix": null, 1769 | "IndexerTypeName": null, 1770 | "Documentation": "\n \n The type of the <input> element.\n \n \n Passed through to the generated HTML in all cases. Also used to determine the \n helper to call and the default value. A default is not calculated\n if the provided (see ) or calculated \"type\" attribute value is checkbox,\n hidden, password, or radio.\n \n ", 1771 | "Diagnostics": [], 1772 | "Metadata": { 1773 | "Common.PropertyName": "InputTypeName" 1774 | }, 1775 | "BoundAttributeParameters": [] 1776 | }, 1777 | { 1778 | "Kind": "ITagHelper", 1779 | "Name": "name", 1780 | "TypeName": "System.String", 1781 | "IsEnum": false, 1782 | "IndexerNamePrefix": null, 1783 | "IndexerTypeName": null, 1784 | "Documentation": "\n \n The name of the <input> element.\n \n \n Passed through to the generated HTML in all cases. Also used to determine whether is\n valid with an empty .\n \n ", 1785 | "Diagnostics": [], 1786 | "Metadata": { 1787 | "Common.PropertyName": "Name" 1788 | }, 1789 | "BoundAttributeParameters": [] 1790 | }, 1791 | { 1792 | "Kind": "ITagHelper", 1793 | "Name": "value", 1794 | "TypeName": "System.String", 1795 | "IsEnum": false, 1796 | "IndexerNamePrefix": null, 1797 | "IndexerTypeName": null, 1798 | "Documentation": "\n \n The value of the <input> element.\n \n \n Passed through to the generated HTML in all cases. Also used to determine the generated \"checked\" attribute\n if is \"radio\". Must not be null in that case.\n \n ", 1799 | "Diagnostics": [], 1800 | "Metadata": { 1801 | "Common.PropertyName": "Value" 1802 | }, 1803 | "BoundAttributeParameters": [] 1804 | } 1805 | ], 1806 | "AllowedChildTags": [], 1807 | "Diagnostics": [], 1808 | "Metadata": { 1809 | "Runtime.Name": "ITagHelper", 1810 | "Common.TypeName": "Microsoft.AspNetCore.Mvc.TagHelpers.InputTagHelper" 1811 | } 1812 | }, 1813 | { 1814 | "Kind": "ITagHelper", 1815 | "Name": "Microsoft.AspNetCore.Mvc.TagHelpers.LabelTagHelper", 1816 | "AssemblyName": "Microsoft.AspNetCore.Mvc.TagHelpers", 1817 | "Documentation": "\n \n implementation targeting <label> elements with an asp-for attribute.\n \n ", 1818 | "TagOutputHint": null, 1819 | "CaseSensitive": false, 1820 | "TagMatchingRules": [ 1821 | { 1822 | "TagName": "label", 1823 | "ParentTag": null, 1824 | "TagStructure": 0, 1825 | "Attributes": [ 1826 | { 1827 | "Name": "asp-for", 1828 | "NameComparison": 0, 1829 | "Value": null, 1830 | "ValueComparison": 0, 1831 | "Diagnostics": [], 1832 | "Metadata": {} 1833 | } 1834 | ], 1835 | "Diagnostics": [] 1836 | } 1837 | ], 1838 | "BoundAttributes": [ 1839 | { 1840 | "Kind": "ITagHelper", 1841 | "Name": "asp-for", 1842 | "TypeName": "Microsoft.AspNetCore.Mvc.ViewFeatures.ModelExpression", 1843 | "IsEnum": false, 1844 | "IndexerNamePrefix": null, 1845 | "IndexerTypeName": null, 1846 | "Documentation": "\n \n An expression to be evaluated against the current model.\n \n ", 1847 | "Diagnostics": [], 1848 | "Metadata": { 1849 | "Common.PropertyName": "For" 1850 | }, 1851 | "BoundAttributeParameters": [] 1852 | } 1853 | ], 1854 | "AllowedChildTags": [], 1855 | "Diagnostics": [], 1856 | "Metadata": { 1857 | "Runtime.Name": "ITagHelper", 1858 | "Common.TypeName": "Microsoft.AspNetCore.Mvc.TagHelpers.LabelTagHelper" 1859 | } 1860 | }, 1861 | { 1862 | "Kind": "ITagHelper", 1863 | "Name": "Microsoft.AspNetCore.Mvc.TagHelpers.LinkTagHelper", 1864 | "AssemblyName": "Microsoft.AspNetCore.Mvc.TagHelpers", 1865 | "Documentation": "\n \n implementation targeting <link> elements that supports fallback href paths.\n \n \n The tag helper won't process for cases with just the 'href' attribute.\n \n ", 1866 | "TagOutputHint": null, 1867 | "CaseSensitive": false, 1868 | "TagMatchingRules": [ 1869 | { 1870 | "TagName": "link", 1871 | "ParentTag": null, 1872 | "TagStructure": 2, 1873 | "Attributes": [ 1874 | { 1875 | "Name": "asp-href-include", 1876 | "NameComparison": 0, 1877 | "Value": null, 1878 | "ValueComparison": 0, 1879 | "Diagnostics": [], 1880 | "Metadata": {} 1881 | } 1882 | ], 1883 | "Diagnostics": [] 1884 | }, 1885 | { 1886 | "TagName": "link", 1887 | "ParentTag": null, 1888 | "TagStructure": 2, 1889 | "Attributes": [ 1890 | { 1891 | "Name": "asp-href-exclude", 1892 | "NameComparison": 0, 1893 | "Value": null, 1894 | "ValueComparison": 0, 1895 | "Diagnostics": [], 1896 | "Metadata": {} 1897 | } 1898 | ], 1899 | "Diagnostics": [] 1900 | }, 1901 | { 1902 | "TagName": "link", 1903 | "ParentTag": null, 1904 | "TagStructure": 2, 1905 | "Attributes": [ 1906 | { 1907 | "Name": "asp-fallback-href", 1908 | "NameComparison": 0, 1909 | "Value": null, 1910 | "ValueComparison": 0, 1911 | "Diagnostics": [], 1912 | "Metadata": {} 1913 | } 1914 | ], 1915 | "Diagnostics": [] 1916 | }, 1917 | { 1918 | "TagName": "link", 1919 | "ParentTag": null, 1920 | "TagStructure": 2, 1921 | "Attributes": [ 1922 | { 1923 | "Name": "asp-fallback-href-include", 1924 | "NameComparison": 0, 1925 | "Value": null, 1926 | "ValueComparison": 0, 1927 | "Diagnostics": [], 1928 | "Metadata": {} 1929 | } 1930 | ], 1931 | "Diagnostics": [] 1932 | }, 1933 | { 1934 | "TagName": "link", 1935 | "ParentTag": null, 1936 | "TagStructure": 2, 1937 | "Attributes": [ 1938 | { 1939 | "Name": "asp-fallback-href-exclude", 1940 | "NameComparison": 0, 1941 | "Value": null, 1942 | "ValueComparison": 0, 1943 | "Diagnostics": [], 1944 | "Metadata": {} 1945 | } 1946 | ], 1947 | "Diagnostics": [] 1948 | }, 1949 | { 1950 | "TagName": "link", 1951 | "ParentTag": null, 1952 | "TagStructure": 2, 1953 | "Attributes": [ 1954 | { 1955 | "Name": "asp-fallback-test-class", 1956 | "NameComparison": 0, 1957 | "Value": null, 1958 | "ValueComparison": 0, 1959 | "Diagnostics": [], 1960 | "Metadata": {} 1961 | } 1962 | ], 1963 | "Diagnostics": [] 1964 | }, 1965 | { 1966 | "TagName": "link", 1967 | "ParentTag": null, 1968 | "TagStructure": 2, 1969 | "Attributes": [ 1970 | { 1971 | "Name": "asp-fallback-test-property", 1972 | "NameComparison": 0, 1973 | "Value": null, 1974 | "ValueComparison": 0, 1975 | "Diagnostics": [], 1976 | "Metadata": {} 1977 | } 1978 | ], 1979 | "Diagnostics": [] 1980 | }, 1981 | { 1982 | "TagName": "link", 1983 | "ParentTag": null, 1984 | "TagStructure": 2, 1985 | "Attributes": [ 1986 | { 1987 | "Name": "asp-fallback-test-value", 1988 | "NameComparison": 0, 1989 | "Value": null, 1990 | "ValueComparison": 0, 1991 | "Diagnostics": [], 1992 | "Metadata": {} 1993 | } 1994 | ], 1995 | "Diagnostics": [] 1996 | }, 1997 | { 1998 | "TagName": "link", 1999 | "ParentTag": null, 2000 | "TagStructure": 2, 2001 | "Attributes": [ 2002 | { 2003 | "Name": "asp-append-version", 2004 | "NameComparison": 0, 2005 | "Value": null, 2006 | "ValueComparison": 0, 2007 | "Diagnostics": [], 2008 | "Metadata": {} 2009 | } 2010 | ], 2011 | "Diagnostics": [] 2012 | } 2013 | ], 2014 | "BoundAttributes": [ 2015 | { 2016 | "Kind": "ITagHelper", 2017 | "Name": "href", 2018 | "TypeName": "System.String", 2019 | "IsEnum": false, 2020 | "IndexerNamePrefix": null, 2021 | "IndexerTypeName": null, 2022 | "Documentation": "\n \n Address of the linked resource.\n \n \n Passed through to the generated HTML in all cases.\n \n ", 2023 | "Diagnostics": [], 2024 | "Metadata": { 2025 | "Common.PropertyName": "Href" 2026 | }, 2027 | "BoundAttributeParameters": [] 2028 | }, 2029 | { 2030 | "Kind": "ITagHelper", 2031 | "Name": "asp-href-include", 2032 | "TypeName": "System.String", 2033 | "IsEnum": false, 2034 | "IndexerNamePrefix": null, 2035 | "IndexerTypeName": null, 2036 | "Documentation": "\n \n A comma separated list of globbed file patterns of CSS stylesheets to load.\n The glob patterns are assessed relative to the application's 'webroot' setting.\n \n ", 2037 | "Diagnostics": [], 2038 | "Metadata": { 2039 | "Common.PropertyName": "HrefInclude" 2040 | }, 2041 | "BoundAttributeParameters": [] 2042 | }, 2043 | { 2044 | "Kind": "ITagHelper", 2045 | "Name": "asp-href-exclude", 2046 | "TypeName": "System.String", 2047 | "IsEnum": false, 2048 | "IndexerNamePrefix": null, 2049 | "IndexerTypeName": null, 2050 | "Documentation": "\n \n A comma separated list of globbed file patterns of CSS stylesheets to exclude from loading.\n The glob patterns are assessed relative to the application's 'webroot' setting.\n Must be used in conjunction with .\n \n ", 2051 | "Diagnostics": [], 2052 | "Metadata": { 2053 | "Common.PropertyName": "HrefExclude" 2054 | }, 2055 | "BoundAttributeParameters": [] 2056 | }, 2057 | { 2058 | "Kind": "ITagHelper", 2059 | "Name": "asp-fallback-href", 2060 | "TypeName": "System.String", 2061 | "IsEnum": false, 2062 | "IndexerNamePrefix": null, 2063 | "IndexerTypeName": null, 2064 | "Documentation": "\n \n The URL of a CSS stylesheet to fallback to in the case the primary one fails.\n \n ", 2065 | "Diagnostics": [], 2066 | "Metadata": { 2067 | "Common.PropertyName": "FallbackHref" 2068 | }, 2069 | "BoundAttributeParameters": [] 2070 | }, 2071 | { 2072 | "Kind": "ITagHelper", 2073 | "Name": "asp-append-version", 2074 | "TypeName": "System.Boolean?", 2075 | "IsEnum": false, 2076 | "IndexerNamePrefix": null, 2077 | "IndexerTypeName": null, 2078 | "Documentation": "\n \n Value indicating if file version should be appended to the href urls.\n \n \n If true then a query string \"v\" with the encoded content of the file is added.\n \n ", 2079 | "Diagnostics": [], 2080 | "Metadata": { 2081 | "Common.PropertyName": "AppendVersion" 2082 | }, 2083 | "BoundAttributeParameters": [] 2084 | }, 2085 | { 2086 | "Kind": "ITagHelper", 2087 | "Name": "asp-fallback-href-include", 2088 | "TypeName": "System.String", 2089 | "IsEnum": false, 2090 | "IndexerNamePrefix": null, 2091 | "IndexerTypeName": null, 2092 | "Documentation": "\n \n A comma separated list of globbed file patterns of CSS stylesheets to fallback to in the case the primary\n one fails.\n The glob patterns are assessed relative to the application's 'webroot' setting.\n \n ", 2093 | "Diagnostics": [], 2094 | "Metadata": { 2095 | "Common.PropertyName": "FallbackHrefInclude" 2096 | }, 2097 | "BoundAttributeParameters": [] 2098 | }, 2099 | { 2100 | "Kind": "ITagHelper", 2101 | "Name": "asp-fallback-href-exclude", 2102 | "TypeName": "System.String", 2103 | "IsEnum": false, 2104 | "IndexerNamePrefix": null, 2105 | "IndexerTypeName": null, 2106 | "Documentation": "\n \n A comma separated list of globbed file patterns of CSS stylesheets to exclude from the fallback list, in\n the case the primary one fails.\n The glob patterns are assessed relative to the application's 'webroot' setting.\n Must be used in conjunction with .\n \n ", 2107 | "Diagnostics": [], 2108 | "Metadata": { 2109 | "Common.PropertyName": "FallbackHrefExclude" 2110 | }, 2111 | "BoundAttributeParameters": [] 2112 | }, 2113 | { 2114 | "Kind": "ITagHelper", 2115 | "Name": "asp-fallback-test-class", 2116 | "TypeName": "System.String", 2117 | "IsEnum": false, 2118 | "IndexerNamePrefix": null, 2119 | "IndexerTypeName": null, 2120 | "Documentation": "\n \n The class name defined in the stylesheet to use for the fallback test.\n Must be used in conjunction with and ,\n and either or .\n \n ", 2121 | "Diagnostics": [], 2122 | "Metadata": { 2123 | "Common.PropertyName": "FallbackTestClass" 2124 | }, 2125 | "BoundAttributeParameters": [] 2126 | }, 2127 | { 2128 | "Kind": "ITagHelper", 2129 | "Name": "asp-fallback-test-property", 2130 | "TypeName": "System.String", 2131 | "IsEnum": false, 2132 | "IndexerNamePrefix": null, 2133 | "IndexerTypeName": null, 2134 | "Documentation": "\n \n The CSS property name to use for the fallback test.\n Must be used in conjunction with and ,\n and either or .\n \n ", 2135 | "Diagnostics": [], 2136 | "Metadata": { 2137 | "Common.PropertyName": "FallbackTestProperty" 2138 | }, 2139 | "BoundAttributeParameters": [] 2140 | }, 2141 | { 2142 | "Kind": "ITagHelper", 2143 | "Name": "asp-fallback-test-value", 2144 | "TypeName": "System.String", 2145 | "IsEnum": false, 2146 | "IndexerNamePrefix": null, 2147 | "IndexerTypeName": null, 2148 | "Documentation": "\n \n The CSS property value to use for the fallback test.\n Must be used in conjunction with and ,\n and either or .\n \n ", 2149 | "Diagnostics": [], 2150 | "Metadata": { 2151 | "Common.PropertyName": "FallbackTestValue" 2152 | }, 2153 | "BoundAttributeParameters": [] 2154 | } 2155 | ], 2156 | "AllowedChildTags": [], 2157 | "Diagnostics": [], 2158 | "Metadata": { 2159 | "Runtime.Name": "ITagHelper", 2160 | "Common.TypeName": "Microsoft.AspNetCore.Mvc.TagHelpers.LinkTagHelper" 2161 | } 2162 | }, 2163 | { 2164 | "Kind": "ITagHelper", 2165 | "Name": "Microsoft.AspNetCore.Mvc.TagHelpers.OptionTagHelper", 2166 | "AssemblyName": "Microsoft.AspNetCore.Mvc.TagHelpers", 2167 | "Documentation": "\n \n implementation targeting <option> elements.\n \n \n This works in conjunction with . It reads elements\n content but does not modify that content. The only modification it makes is to add a selected attribute\n in some cases.\n \n ", 2168 | "TagOutputHint": null, 2169 | "CaseSensitive": false, 2170 | "TagMatchingRules": [ 2171 | { 2172 | "TagName": "option", 2173 | "ParentTag": null, 2174 | "TagStructure": 0, 2175 | "Attributes": [], 2176 | "Diagnostics": [] 2177 | } 2178 | ], 2179 | "BoundAttributes": [ 2180 | { 2181 | "Kind": "ITagHelper", 2182 | "Name": "value", 2183 | "TypeName": "System.String", 2184 | "IsEnum": false, 2185 | "IndexerNamePrefix": null, 2186 | "IndexerTypeName": null, 2187 | "Documentation": "\n \n Specifies a value for the <option> element.\n \n \n Passed through to the generated HTML in all cases.\n \n ", 2188 | "Diagnostics": [], 2189 | "Metadata": { 2190 | "Common.PropertyName": "Value" 2191 | }, 2192 | "BoundAttributeParameters": [] 2193 | } 2194 | ], 2195 | "AllowedChildTags": [], 2196 | "Diagnostics": [], 2197 | "Metadata": { 2198 | "Runtime.Name": "ITagHelper", 2199 | "Common.TypeName": "Microsoft.AspNetCore.Mvc.TagHelpers.OptionTagHelper" 2200 | } 2201 | }, 2202 | { 2203 | "Kind": "ITagHelper", 2204 | "Name": "Microsoft.AspNetCore.Mvc.TagHelpers.PartialTagHelper", 2205 | "AssemblyName": "Microsoft.AspNetCore.Mvc.TagHelpers", 2206 | "Documentation": "\n \n Renders a partial view.\n \n ", 2207 | "TagOutputHint": null, 2208 | "CaseSensitive": false, 2209 | "TagMatchingRules": [ 2210 | { 2211 | "TagName": "partial", 2212 | "ParentTag": null, 2213 | "TagStructure": 2, 2214 | "Attributes": [ 2215 | { 2216 | "Name": "name", 2217 | "NameComparison": 0, 2218 | "Value": null, 2219 | "ValueComparison": 0, 2220 | "Diagnostics": [], 2221 | "Metadata": {} 2222 | } 2223 | ], 2224 | "Diagnostics": [] 2225 | } 2226 | ], 2227 | "BoundAttributes": [ 2228 | { 2229 | "Kind": "ITagHelper", 2230 | "Name": "name", 2231 | "TypeName": "System.String", 2232 | "IsEnum": false, 2233 | "IndexerNamePrefix": null, 2234 | "IndexerTypeName": null, 2235 | "Documentation": "\n \n The name or path of the partial view that is rendered to the response.\n \n ", 2236 | "Diagnostics": [], 2237 | "Metadata": { 2238 | "Common.PropertyName": "Name" 2239 | }, 2240 | "BoundAttributeParameters": [] 2241 | }, 2242 | { 2243 | "Kind": "ITagHelper", 2244 | "Name": "for", 2245 | "TypeName": "Microsoft.AspNetCore.Mvc.ViewFeatures.ModelExpression", 2246 | "IsEnum": false, 2247 | "IndexerNamePrefix": null, 2248 | "IndexerTypeName": null, 2249 | "Documentation": "\n \n An expression to be evaluated against the current model. Cannot be used together with .\n \n ", 2250 | "Diagnostics": [], 2251 | "Metadata": { 2252 | "Common.PropertyName": "For" 2253 | }, 2254 | "BoundAttributeParameters": [] 2255 | }, 2256 | { 2257 | "Kind": "ITagHelper", 2258 | "Name": "model", 2259 | "TypeName": "System.Object", 2260 | "IsEnum": false, 2261 | "IndexerNamePrefix": null, 2262 | "IndexerTypeName": null, 2263 | "Documentation": "\n \n The model to pass into the partial view. Cannot be used together with .\n \n ", 2264 | "Diagnostics": [], 2265 | "Metadata": { 2266 | "Common.PropertyName": "Model" 2267 | }, 2268 | "BoundAttributeParameters": [] 2269 | }, 2270 | { 2271 | "Kind": "ITagHelper", 2272 | "Name": "view-data", 2273 | "TypeName": "Microsoft.AspNetCore.Mvc.ViewFeatures.ViewDataDictionary", 2274 | "IsEnum": false, 2275 | "IndexerNamePrefix": "view-data-", 2276 | "IndexerTypeName": "System.Object", 2277 | "Documentation": "\n \n A to pass into the partial view.\n \n ", 2278 | "Diagnostics": [], 2279 | "Metadata": { 2280 | "Common.PropertyName": "ViewData" 2281 | }, 2282 | "BoundAttributeParameters": [] 2283 | } 2284 | ], 2285 | "AllowedChildTags": [], 2286 | "Diagnostics": [], 2287 | "Metadata": { 2288 | "Runtime.Name": "ITagHelper", 2289 | "Common.TypeName": "Microsoft.AspNetCore.Mvc.TagHelpers.PartialTagHelper" 2290 | } 2291 | }, 2292 | { 2293 | "Kind": "ITagHelper", 2294 | "Name": "Microsoft.AspNetCore.Mvc.TagHelpers.ScriptTagHelper", 2295 | "AssemblyName": "Microsoft.AspNetCore.Mvc.TagHelpers", 2296 | "Documentation": "\n \n implementation targeting <script> elements that supports fallback src paths.\n \n \n The tag helper won't process for cases with just the 'src' attribute.\n \n ", 2297 | "TagOutputHint": null, 2298 | "CaseSensitive": false, 2299 | "TagMatchingRules": [ 2300 | { 2301 | "TagName": "script", 2302 | "ParentTag": null, 2303 | "TagStructure": 0, 2304 | "Attributes": [ 2305 | { 2306 | "Name": "asp-src-include", 2307 | "NameComparison": 0, 2308 | "Value": null, 2309 | "ValueComparison": 0, 2310 | "Diagnostics": [], 2311 | "Metadata": {} 2312 | } 2313 | ], 2314 | "Diagnostics": [] 2315 | }, 2316 | { 2317 | "TagName": "script", 2318 | "ParentTag": null, 2319 | "TagStructure": 0, 2320 | "Attributes": [ 2321 | { 2322 | "Name": "asp-src-exclude", 2323 | "NameComparison": 0, 2324 | "Value": null, 2325 | "ValueComparison": 0, 2326 | "Diagnostics": [], 2327 | "Metadata": {} 2328 | } 2329 | ], 2330 | "Diagnostics": [] 2331 | }, 2332 | { 2333 | "TagName": "script", 2334 | "ParentTag": null, 2335 | "TagStructure": 0, 2336 | "Attributes": [ 2337 | { 2338 | "Name": "asp-fallback-src", 2339 | "NameComparison": 0, 2340 | "Value": null, 2341 | "ValueComparison": 0, 2342 | "Diagnostics": [], 2343 | "Metadata": {} 2344 | } 2345 | ], 2346 | "Diagnostics": [] 2347 | }, 2348 | { 2349 | "TagName": "script", 2350 | "ParentTag": null, 2351 | "TagStructure": 0, 2352 | "Attributes": [ 2353 | { 2354 | "Name": "asp-fallback-src-include", 2355 | "NameComparison": 0, 2356 | "Value": null, 2357 | "ValueComparison": 0, 2358 | "Diagnostics": [], 2359 | "Metadata": {} 2360 | } 2361 | ], 2362 | "Diagnostics": [] 2363 | }, 2364 | { 2365 | "TagName": "script", 2366 | "ParentTag": null, 2367 | "TagStructure": 0, 2368 | "Attributes": [ 2369 | { 2370 | "Name": "asp-fallback-src-exclude", 2371 | "NameComparison": 0, 2372 | "Value": null, 2373 | "ValueComparison": 0, 2374 | "Diagnostics": [], 2375 | "Metadata": {} 2376 | } 2377 | ], 2378 | "Diagnostics": [] 2379 | }, 2380 | { 2381 | "TagName": "script", 2382 | "ParentTag": null, 2383 | "TagStructure": 0, 2384 | "Attributes": [ 2385 | { 2386 | "Name": "asp-fallback-test", 2387 | "NameComparison": 0, 2388 | "Value": null, 2389 | "ValueComparison": 0, 2390 | "Diagnostics": [], 2391 | "Metadata": {} 2392 | } 2393 | ], 2394 | "Diagnostics": [] 2395 | }, 2396 | { 2397 | "TagName": "script", 2398 | "ParentTag": null, 2399 | "TagStructure": 0, 2400 | "Attributes": [ 2401 | { 2402 | "Name": "asp-append-version", 2403 | "NameComparison": 0, 2404 | "Value": null, 2405 | "ValueComparison": 0, 2406 | "Diagnostics": [], 2407 | "Metadata": {} 2408 | } 2409 | ], 2410 | "Diagnostics": [] 2411 | } 2412 | ], 2413 | "BoundAttributes": [ 2414 | { 2415 | "Kind": "ITagHelper", 2416 | "Name": "src", 2417 | "TypeName": "System.String", 2418 | "IsEnum": false, 2419 | "IndexerNamePrefix": null, 2420 | "IndexerTypeName": null, 2421 | "Documentation": "\n \n Address of the external script to use.\n \n \n Passed through to the generated HTML in all cases.\n \n ", 2422 | "Diagnostics": [], 2423 | "Metadata": { 2424 | "Common.PropertyName": "Src" 2425 | }, 2426 | "BoundAttributeParameters": [] 2427 | }, 2428 | { 2429 | "Kind": "ITagHelper", 2430 | "Name": "asp-src-include", 2431 | "TypeName": "System.String", 2432 | "IsEnum": false, 2433 | "IndexerNamePrefix": null, 2434 | "IndexerTypeName": null, 2435 | "Documentation": "\n \n A comma separated list of globbed file patterns of JavaScript scripts to load.\n The glob patterns are assessed relative to the application's 'webroot' setting.\n \n ", 2436 | "Diagnostics": [], 2437 | "Metadata": { 2438 | "Common.PropertyName": "SrcInclude" 2439 | }, 2440 | "BoundAttributeParameters": [] 2441 | }, 2442 | { 2443 | "Kind": "ITagHelper", 2444 | "Name": "asp-src-exclude", 2445 | "TypeName": "System.String", 2446 | "IsEnum": false, 2447 | "IndexerNamePrefix": null, 2448 | "IndexerTypeName": null, 2449 | "Documentation": "\n \n A comma separated list of globbed file patterns of JavaScript scripts to exclude from loading.\n The glob patterns are assessed relative to the application's 'webroot' setting.\n Must be used in conjunction with .\n \n ", 2450 | "Diagnostics": [], 2451 | "Metadata": { 2452 | "Common.PropertyName": "SrcExclude" 2453 | }, 2454 | "BoundAttributeParameters": [] 2455 | }, 2456 | { 2457 | "Kind": "ITagHelper", 2458 | "Name": "asp-fallback-src", 2459 | "TypeName": "System.String", 2460 | "IsEnum": false, 2461 | "IndexerNamePrefix": null, 2462 | "IndexerTypeName": null, 2463 | "Documentation": "\n \n The URL of a Script tag to fallback to in the case the primary one fails.\n \n ", 2464 | "Diagnostics": [], 2465 | "Metadata": { 2466 | "Common.PropertyName": "FallbackSrc" 2467 | }, 2468 | "BoundAttributeParameters": [] 2469 | }, 2470 | { 2471 | "Kind": "ITagHelper", 2472 | "Name": "asp-append-version", 2473 | "TypeName": "System.Boolean?", 2474 | "IsEnum": false, 2475 | "IndexerNamePrefix": null, 2476 | "IndexerTypeName": null, 2477 | "Documentation": "\n \n Value indicating if file version should be appended to src urls.\n \n \n A query string \"v\" with the encoded content of the file is added.\n \n ", 2478 | "Diagnostics": [], 2479 | "Metadata": { 2480 | "Common.PropertyName": "AppendVersion" 2481 | }, 2482 | "BoundAttributeParameters": [] 2483 | }, 2484 | { 2485 | "Kind": "ITagHelper", 2486 | "Name": "asp-fallback-src-include", 2487 | "TypeName": "System.String", 2488 | "IsEnum": false, 2489 | "IndexerNamePrefix": null, 2490 | "IndexerTypeName": null, 2491 | "Documentation": "\n \n A comma separated list of globbed file patterns of JavaScript scripts to fallback to in the case the\n primary one fails.\n The glob patterns are assessed relative to the application's 'webroot' setting.\n \n ", 2492 | "Diagnostics": [], 2493 | "Metadata": { 2494 | "Common.PropertyName": "FallbackSrcInclude" 2495 | }, 2496 | "BoundAttributeParameters": [] 2497 | }, 2498 | { 2499 | "Kind": "ITagHelper", 2500 | "Name": "asp-fallback-src-exclude", 2501 | "TypeName": "System.String", 2502 | "IsEnum": false, 2503 | "IndexerNamePrefix": null, 2504 | "IndexerTypeName": null, 2505 | "Documentation": "\n \n A comma separated list of globbed file patterns of JavaScript scripts to exclude from the fallback list, in\n the case the primary one fails.\n The glob patterns are assessed relative to the application's 'webroot' setting.\n Must be used in conjunction with .\n \n ", 2506 | "Diagnostics": [], 2507 | "Metadata": { 2508 | "Common.PropertyName": "FallbackSrcExclude" 2509 | }, 2510 | "BoundAttributeParameters": [] 2511 | }, 2512 | { 2513 | "Kind": "ITagHelper", 2514 | "Name": "asp-fallback-test", 2515 | "TypeName": "System.String", 2516 | "IsEnum": false, 2517 | "IndexerNamePrefix": null, 2518 | "IndexerTypeName": null, 2519 | "Documentation": "\n \n The script method defined in the primary script to use for the fallback test.\n \n ", 2520 | "Diagnostics": [], 2521 | "Metadata": { 2522 | "Common.PropertyName": "FallbackTestExpression" 2523 | }, 2524 | "BoundAttributeParameters": [] 2525 | } 2526 | ], 2527 | "AllowedChildTags": [], 2528 | "Diagnostics": [], 2529 | "Metadata": { 2530 | "Runtime.Name": "ITagHelper", 2531 | "Common.TypeName": "Microsoft.AspNetCore.Mvc.TagHelpers.ScriptTagHelper" 2532 | } 2533 | }, 2534 | { 2535 | "Kind": "ITagHelper", 2536 | "Name": "Microsoft.AspNetCore.Mvc.TagHelpers.SelectTagHelper", 2537 | "AssemblyName": "Microsoft.AspNetCore.Mvc.TagHelpers", 2538 | "Documentation": "\n \n implementation targeting <select> elements with asp-for and/or\n asp-items attribute(s).\n \n ", 2539 | "TagOutputHint": null, 2540 | "CaseSensitive": false, 2541 | "TagMatchingRules": [ 2542 | { 2543 | "TagName": "select", 2544 | "ParentTag": null, 2545 | "TagStructure": 0, 2546 | "Attributes": [ 2547 | { 2548 | "Name": "asp-for", 2549 | "NameComparison": 0, 2550 | "Value": null, 2551 | "ValueComparison": 0, 2552 | "Diagnostics": [], 2553 | "Metadata": {} 2554 | } 2555 | ], 2556 | "Diagnostics": [] 2557 | }, 2558 | { 2559 | "TagName": "select", 2560 | "ParentTag": null, 2561 | "TagStructure": 0, 2562 | "Attributes": [ 2563 | { 2564 | "Name": "asp-items", 2565 | "NameComparison": 0, 2566 | "Value": null, 2567 | "ValueComparison": 0, 2568 | "Diagnostics": [], 2569 | "Metadata": {} 2570 | } 2571 | ], 2572 | "Diagnostics": [] 2573 | } 2574 | ], 2575 | "BoundAttributes": [ 2576 | { 2577 | "Kind": "ITagHelper", 2578 | "Name": "asp-for", 2579 | "TypeName": "Microsoft.AspNetCore.Mvc.ViewFeatures.ModelExpression", 2580 | "IsEnum": false, 2581 | "IndexerNamePrefix": null, 2582 | "IndexerTypeName": null, 2583 | "Documentation": "\n \n An expression to be evaluated against the current model.\n \n ", 2584 | "Diagnostics": [], 2585 | "Metadata": { 2586 | "Common.PropertyName": "For" 2587 | }, 2588 | "BoundAttributeParameters": [] 2589 | }, 2590 | { 2591 | "Kind": "ITagHelper", 2592 | "Name": "asp-items", 2593 | "TypeName": "System.Collections.Generic.IEnumerable", 2594 | "IsEnum": false, 2595 | "IndexerNamePrefix": null, 2596 | "IndexerTypeName": null, 2597 | "Documentation": "\n \n A collection of objects used to populate the <select> element with\n <optgroup> and <option> elements.\n \n ", 2598 | "Diagnostics": [], 2599 | "Metadata": { 2600 | "Common.PropertyName": "Items" 2601 | }, 2602 | "BoundAttributeParameters": [] 2603 | }, 2604 | { 2605 | "Kind": "ITagHelper", 2606 | "Name": "name", 2607 | "TypeName": "System.String", 2608 | "IsEnum": false, 2609 | "IndexerNamePrefix": null, 2610 | "IndexerTypeName": null, 2611 | "Documentation": "\n \n The name of the <input> element.\n \n \n Passed through to the generated HTML in all cases. Also used to determine whether is\n valid with an empty .\n \n ", 2612 | "Diagnostics": [], 2613 | "Metadata": { 2614 | "Common.PropertyName": "Name" 2615 | }, 2616 | "BoundAttributeParameters": [] 2617 | } 2618 | ], 2619 | "AllowedChildTags": [], 2620 | "Diagnostics": [], 2621 | "Metadata": { 2622 | "Runtime.Name": "ITagHelper", 2623 | "Common.TypeName": "Microsoft.AspNetCore.Mvc.TagHelpers.SelectTagHelper" 2624 | } 2625 | }, 2626 | { 2627 | "Kind": "ITagHelper", 2628 | "Name": "Microsoft.AspNetCore.Mvc.TagHelpers.TextAreaTagHelper", 2629 | "AssemblyName": "Microsoft.AspNetCore.Mvc.TagHelpers", 2630 | "Documentation": "\n \n implementation targeting <textarea> elements with an asp-for attribute.\n \n ", 2631 | "TagOutputHint": null, 2632 | "CaseSensitive": false, 2633 | "TagMatchingRules": [ 2634 | { 2635 | "TagName": "textarea", 2636 | "ParentTag": null, 2637 | "TagStructure": 0, 2638 | "Attributes": [ 2639 | { 2640 | "Name": "asp-for", 2641 | "NameComparison": 0, 2642 | "Value": null, 2643 | "ValueComparison": 0, 2644 | "Diagnostics": [], 2645 | "Metadata": {} 2646 | } 2647 | ], 2648 | "Diagnostics": [] 2649 | } 2650 | ], 2651 | "BoundAttributes": [ 2652 | { 2653 | "Kind": "ITagHelper", 2654 | "Name": "asp-for", 2655 | "TypeName": "Microsoft.AspNetCore.Mvc.ViewFeatures.ModelExpression", 2656 | "IsEnum": false, 2657 | "IndexerNamePrefix": null, 2658 | "IndexerTypeName": null, 2659 | "Documentation": "\n \n An expression to be evaluated against the current model.\n \n ", 2660 | "Diagnostics": [], 2661 | "Metadata": { 2662 | "Common.PropertyName": "For" 2663 | }, 2664 | "BoundAttributeParameters": [] 2665 | }, 2666 | { 2667 | "Kind": "ITagHelper", 2668 | "Name": "name", 2669 | "TypeName": "System.String", 2670 | "IsEnum": false, 2671 | "IndexerNamePrefix": null, 2672 | "IndexerTypeName": null, 2673 | "Documentation": "\n \n The name of the <input> element.\n \n \n Passed through to the generated HTML in all cases. Also used to determine whether is\n valid with an empty .\n \n ", 2674 | "Diagnostics": [], 2675 | "Metadata": { 2676 | "Common.PropertyName": "Name" 2677 | }, 2678 | "BoundAttributeParameters": [] 2679 | } 2680 | ], 2681 | "AllowedChildTags": [], 2682 | "Diagnostics": [], 2683 | "Metadata": { 2684 | "Runtime.Name": "ITagHelper", 2685 | "Common.TypeName": "Microsoft.AspNetCore.Mvc.TagHelpers.TextAreaTagHelper" 2686 | } 2687 | }, 2688 | { 2689 | "Kind": "ITagHelper", 2690 | "Name": "Microsoft.AspNetCore.Mvc.TagHelpers.ValidationMessageTagHelper", 2691 | "AssemblyName": "Microsoft.AspNetCore.Mvc.TagHelpers", 2692 | "Documentation": "\n \n implementation targeting any HTML element with an asp-validation-for\n attribute.\n \n ", 2693 | "TagOutputHint": null, 2694 | "CaseSensitive": false, 2695 | "TagMatchingRules": [ 2696 | { 2697 | "TagName": "span", 2698 | "ParentTag": null, 2699 | "TagStructure": 0, 2700 | "Attributes": [ 2701 | { 2702 | "Name": "asp-validation-for", 2703 | "NameComparison": 0, 2704 | "Value": null, 2705 | "ValueComparison": 0, 2706 | "Diagnostics": [], 2707 | "Metadata": {} 2708 | } 2709 | ], 2710 | "Diagnostics": [] 2711 | } 2712 | ], 2713 | "BoundAttributes": [ 2714 | { 2715 | "Kind": "ITagHelper", 2716 | "Name": "asp-validation-for", 2717 | "TypeName": "Microsoft.AspNetCore.Mvc.ViewFeatures.ModelExpression", 2718 | "IsEnum": false, 2719 | "IndexerNamePrefix": null, 2720 | "IndexerTypeName": null, 2721 | "Documentation": null, 2722 | "Diagnostics": [], 2723 | "Metadata": { 2724 | "Common.PropertyName": "For" 2725 | }, 2726 | "BoundAttributeParameters": [] 2727 | } 2728 | ], 2729 | "AllowedChildTags": [], 2730 | "Diagnostics": [], 2731 | "Metadata": { 2732 | "Runtime.Name": "ITagHelper", 2733 | "Common.TypeName": "Microsoft.AspNetCore.Mvc.TagHelpers.ValidationMessageTagHelper" 2734 | } 2735 | }, 2736 | { 2737 | "Kind": "ITagHelper", 2738 | "Name": "Microsoft.AspNetCore.Mvc.TagHelpers.ValidationSummaryTagHelper", 2739 | "AssemblyName": "Microsoft.AspNetCore.Mvc.TagHelpers", 2740 | "Documentation": "\n \n implementation targeting any HTML element with an asp-validation-summary\n attribute.\n \n ", 2741 | "TagOutputHint": null, 2742 | "CaseSensitive": false, 2743 | "TagMatchingRules": [ 2744 | { 2745 | "TagName": "div", 2746 | "ParentTag": null, 2747 | "TagStructure": 0, 2748 | "Attributes": [ 2749 | { 2750 | "Name": "asp-validation-summary", 2751 | "NameComparison": 0, 2752 | "Value": null, 2753 | "ValueComparison": 0, 2754 | "Diagnostics": [], 2755 | "Metadata": {} 2756 | } 2757 | ], 2758 | "Diagnostics": [] 2759 | } 2760 | ], 2761 | "BoundAttributes": [ 2762 | { 2763 | "Kind": "ITagHelper", 2764 | "Name": "asp-validation-summary", 2765 | "TypeName": "Microsoft.AspNetCore.Mvc.Rendering.ValidationSummary", 2766 | "IsEnum": true, 2767 | "IndexerNamePrefix": null, 2768 | "IndexerTypeName": null, 2769 | "Documentation": "\n \n If or , appends a validation\n summary. Otherwise (, the default), this tag helper does nothing.\n \n \n Thrown if setter is called with an undefined value e.g.\n (ValidationSummary)23.\n \n ", 2770 | "Diagnostics": [], 2771 | "Metadata": { 2772 | "Common.PropertyName": "ValidationSummary" 2773 | }, 2774 | "BoundAttributeParameters": [] 2775 | } 2776 | ], 2777 | "AllowedChildTags": [], 2778 | "Diagnostics": [], 2779 | "Metadata": { 2780 | "Runtime.Name": "ITagHelper", 2781 | "Common.TypeName": "Microsoft.AspNetCore.Mvc.TagHelpers.ValidationSummaryTagHelper" 2782 | } 2783 | }, 2784 | { 2785 | "Kind": "ITagHelper", 2786 | "Name": "Microsoft.AspNetCore.SpaServices.Prerendering.PrerenderTagHelper", 2787 | "AssemblyName": "Microsoft.AspNetCore.SpaServices", 2788 | "Documentation": "\n \n A tag helper for prerendering JavaScript applications on the server.\n \n ", 2789 | "TagOutputHint": null, 2790 | "CaseSensitive": false, 2791 | "TagMatchingRules": [ 2792 | { 2793 | "TagName": "*", 2794 | "ParentTag": null, 2795 | "TagStructure": 0, 2796 | "Attributes": [ 2797 | { 2798 | "Name": "asp-prerender-module", 2799 | "NameComparison": 0, 2800 | "Value": null, 2801 | "ValueComparison": 0, 2802 | "Diagnostics": [], 2803 | "Metadata": {} 2804 | } 2805 | ], 2806 | "Diagnostics": [] 2807 | } 2808 | ], 2809 | "BoundAttributes": [ 2810 | { 2811 | "Kind": "ITagHelper", 2812 | "Name": "asp-prerender-module", 2813 | "TypeName": "System.String", 2814 | "IsEnum": false, 2815 | "IndexerNamePrefix": null, 2816 | "IndexerTypeName": null, 2817 | "Documentation": "\n \n Specifies the path to the JavaScript module containing prerendering code.\n \n ", 2818 | "Diagnostics": [], 2819 | "Metadata": { 2820 | "Common.PropertyName": "ModuleName" 2821 | }, 2822 | "BoundAttributeParameters": [] 2823 | }, 2824 | { 2825 | "Kind": "ITagHelper", 2826 | "Name": "asp-prerender-export", 2827 | "TypeName": "System.String", 2828 | "IsEnum": false, 2829 | "IndexerNamePrefix": null, 2830 | "IndexerTypeName": null, 2831 | "Documentation": "\n \n If set, specifies the name of the CommonJS export that is the prerendering function to execute.\n If not set, the JavaScript module's default CommonJS export must itself be the prerendering function.\n \n ", 2832 | "Diagnostics": [], 2833 | "Metadata": { 2834 | "Common.PropertyName": "ExportName" 2835 | }, 2836 | "BoundAttributeParameters": [] 2837 | }, 2838 | { 2839 | "Kind": "ITagHelper", 2840 | "Name": "asp-prerender-data", 2841 | "TypeName": "System.Object", 2842 | "IsEnum": false, 2843 | "IndexerNamePrefix": null, 2844 | "IndexerTypeName": null, 2845 | "Documentation": "\n \n An optional JSON-serializable parameter to be supplied to the prerendering code.\n \n ", 2846 | "Diagnostics": [], 2847 | "Metadata": { 2848 | "Common.PropertyName": "CustomDataParameter" 2849 | }, 2850 | "BoundAttributeParameters": [] 2851 | }, 2852 | { 2853 | "Kind": "ITagHelper", 2854 | "Name": "asp-prerender-timeout", 2855 | "TypeName": "System.Int32", 2856 | "IsEnum": false, 2857 | "IndexerNamePrefix": null, 2858 | "IndexerTypeName": null, 2859 | "Documentation": "\n \n The maximum duration to wait for prerendering to complete.\n \n ", 2860 | "Diagnostics": [], 2861 | "Metadata": { 2862 | "Common.PropertyName": "TimeoutMillisecondsParameter" 2863 | }, 2864 | "BoundAttributeParameters": [] 2865 | } 2866 | ], 2867 | "AllowedChildTags": [], 2868 | "Diagnostics": [], 2869 | "Metadata": { 2870 | "Runtime.Name": "ITagHelper", 2871 | "Common.TypeName": "Microsoft.AspNetCore.SpaServices.Prerendering.PrerenderTagHelper" 2872 | } 2873 | } 2874 | ], 2875 | "CSharpLanguageVersion": 800 2876 | }, 2877 | "RootNamespace": "jwtCoreDemo", 2878 | "Documents": [], 2879 | "SerializationFormat": "0.2" 2880 | } -------------------------------------------------------------------------------- /obj/jwtCoreDemo.csproj.nuget.cache: -------------------------------------------------------------------------------- 1 | { 2 | "version": 1, 3 | "dgSpecHash": "H4x9SDuOZphWoe9gmXBuga6Ip/c0iXvIDA93KTsz8PZ0sjTPq0X26DHUouahHcDqQyGeTQR7lJuJvotUuUFhEQ==", 4 | "success": true 5 | } -------------------------------------------------------------------------------- /obj/jwtCoreDemo.csproj.nuget.dgspec.json: -------------------------------------------------------------------------------- 1 | { 2 | "format": 1, 3 | "restore": { 4 | "D:\\burak.coskun\\Desktop\\Github\\aspnet-core-jwt-authentication-api\\jwtCoreDemo.csproj": {} 5 | }, 6 | "projects": { 7 | "D:\\burak.coskun\\Desktop\\Github\\aspnet-core-jwt-authentication-api\\jwtCoreDemo.csproj": { 8 | "version": "1.0.0", 9 | "restore": { 10 | "projectUniqueName": "D:\\burak.coskun\\Desktop\\Github\\aspnet-core-jwt-authentication-api\\jwtCoreDemo.csproj", 11 | "projectName": "jwtCoreDemo", 12 | "projectPath": "D:\\burak.coskun\\Desktop\\Github\\aspnet-core-jwt-authentication-api\\jwtCoreDemo.csproj", 13 | "packagesPath": "C:\\Users\\burak.coskun\\.nuget\\packages\\", 14 | "outputPath": "D:\\burak.coskun\\Desktop\\Github\\aspnet-core-jwt-authentication-api\\obj\\", 15 | "projectStyle": "PackageReference", 16 | "fallbackFolders": [ 17 | "C:\\ProgramData\\Xamarin\\NuGet\\", 18 | "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder" 19 | ], 20 | "configFilePaths": [ 21 | "C:\\Users\\burak.coskun\\AppData\\Roaming\\NuGet\\NuGet.Config", 22 | "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config", 23 | "C:\\Program Files (x86)\\NuGet\\Config\\Xamarin.Offline.config" 24 | ], 25 | "originalTargetFrameworks": [ 26 | "netcoreapp2.1" 27 | ], 28 | "sources": { 29 | "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, 30 | "\\\\rns-fs01\\Development\\98-UG\\ADFPackage\\adf\\1.0.25": {}, 31 | "https://api.nuget.org/v3/index.json": {} 32 | }, 33 | "frameworks": { 34 | "netcoreapp2.1": { 35 | "projectReferences": {} 36 | } 37 | }, 38 | "warningProperties": { 39 | "warnAsError": [ 40 | "NU1605" 41 | ] 42 | } 43 | }, 44 | "frameworks": { 45 | "netcoreapp2.1": { 46 | "dependencies": { 47 | "Microsoft.AspNetCore.App": { 48 | "suppressParent": "All", 49 | "target": "Package", 50 | "version": "[2.1.1, )", 51 | "autoReferenced": true 52 | }, 53 | "Microsoft.AspNetCore.Razor.Design": { 54 | "suppressParent": "All", 55 | "target": "Package", 56 | "version": "[2.1.2, )" 57 | }, 58 | "Microsoft.NETCore.App": { 59 | "suppressParent": "All", 60 | "target": "Package", 61 | "version": "[2.1.0, )", 62 | "autoReferenced": true 63 | } 64 | }, 65 | "imports": [ 66 | "net461" 67 | ], 68 | "assetTargetFallback": true, 69 | "warn": true 70 | } 71 | } 72 | } 73 | } 74 | } -------------------------------------------------------------------------------- /obj/jwtCoreDemo.csproj.nuget.g.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | True 5 | NuGet 6 | C:\Users\burakcpc\Desktop\Github\aspnet-core-jwt-authentication-api\obj\project.assets.json 7 | $(UserProfile)\.nuget\packages\ 8 | C:\Users\burakcpc\.nuget\packages\;C:\Program Files\dotnet\sdk\NuGetFallbackFolder 9 | PackageReference 10 | 4.8.1 11 | 12 | 13 | $(MSBuildAllProjects);$(MSBuildThisFileFullPath) 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /obj/jwtCoreDemo.csproj.nuget.g.targets: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | $(MSBuildAllProjects);$(MSBuildThisFileFullPath) 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | --------------------------------------------------------------------------------