Skip to content

Instantly share code, notes, and snippets.

View jesuscampos's full-sized avatar
🏠
Working from home

Jesús jesuscampos

🏠
Working from home
View GitHub Profile
@jesuscampos
jesuscampos / Startup.cs
Last active May 12, 2018 21:19
Método Configure
public void Configure(IApplicationBuilder app)
{
app.UseAuthentication();
app.UseMyMiddleware(Configuration);
app.UseMvc();
}
@jesuscampos
jesuscampos / Startup.cs
Created May 12, 2018 19:58
Configuración identity server básica
// AddMvcCore devuelve un objeto IMvcCoreBuilder que permite usar una
// interfaz fluida para configurar Mvc
services.AddMvcCore()
.AddAuthorization()
.AddJsonFormatters();
// El método AddIdentityServerAuthentication acepta un parámetro Action
// donde especificamos una expresión lambda que usa propiedades
// expuestas en el objeto options
services.AddAuthentication("Bearer")
@jesuscampos
jesuscampos / Startup.cs
Last active May 12, 2018 19:34
Add services
public void ConfigureServices(IServiceCollection services)
{
// Se crea una nueva instacia cada vez que se solicita
services.AddTransient<IOperationTransient, Operation>();
// Se crea una nueva instacia por petición HTTP
services.AddScoped<IOperationScoped, Operation>();
// Se crea una única instancia para toda la aplicación
services.AddSingleton<IOperationSingleton, Operation>();
@jesuscampos
jesuscampos / Startup.cs
Last active May 13, 2018 10:40
Configuration builder
// Si hemos usado CreateDefaultBuilder en la configuración del Host
// tendremos la opción de recibirla por inyección en el constructor
public Startup(IHostingEnvironment env, IConfiguration configuration)
{
HostingEnvironment = env;
Configuration = configuration;
}
// Si no hemos usado CreateDefaultBuilder en la configuración del Host
// deberemos registrar la configuración en el Startup
@jesuscampos
jesuscampos / Startup.cs
Created May 12, 2018 14:00
Startup constructor
public Startup(IHostingEnvironment env, IMyClass myClass)
{
HostingEnvironment = env;
MyClass = myClass;
}
@jesuscampos
jesuscampos / Progam.cs
Created May 12, 2018 13:56
Dependency Injection to be available in Startup constructor
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.ConfigureServices(services =>
services.AddScoped<IMyClass, MyClass>()
.UseStartup<Startup>()
.Build();
@jesuscampos
jesuscampos / Program.cs
Last active May 12, 2018 13:56
Program Main method in ASP.NET Core 2.0
public class Program
{
public static void Main(string[] args)
{
BuildWebHost(args).Run();
}
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
@jesuscampos
jesuscampos / Main.cs
Created May 1, 2018 11:03
Main signatures C#7.1
public static Task Main();
public static Task<int> Main();
public static Task Main(string[] args);
public static Task<int> Main(string[] args);
@jesuscampos
jesuscampos / main.cs
Created May 1, 2018 10:28
Main c# 7.1 async
static async Task Main(string[] args)
{
using (var reader = File.OpenText("MyFile.txt"))
{
var fileText = await reader.ReadToEndAsync();
}
}
@jesuscampos
jesuscampos / main.cs
Created May 1, 2018 10:05
Traditional main
public static void Main();
public static int Main();
public static void Main(string[] args);
public static int Main(string[] args);