Archivo

Archive for the ‘asp.net’ Category

Ejecutando un sitio ASP.Net core en Linux

ASP.Net es una tecnologia opensource y multiplataforma por lo tanto podemos sin problemas crear, editar y publicar una aplicación en .net core en linux

Microsoft nos explica facilmente desde su pagina oficial cuales son los comandos para instalr el SDK de .net core que vendria siendo el primer paso que debemos dar

https://www.microsoft.com/net/core#linuxredhat

para caso de ubutu tenemos el ejemplo a continuacion:


sudo sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet-release/ xenial main" > /etc/apt/sources.list.d/dotnetdev.list'


sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 417A0893


sudo apt-get update

luego solo debemos lanzar el comando estandar de instalación:


sudo apt-get install dotnet-dev-1.0.1

Luego para resturar y correr el proyecto solo necesitamos abrir una consola en al ubicacion del proyecto

corelinux

Y luego los comandos

  • dotnet restore (restaura los paquetes y descarga los nugets que se necesiten)
  • dotnet run ( ejecuta la aplicacion en el servidor interno de .net core)

corelinux2

Anuncios

Razor vs Tag helpers .Net core

En .Net core tenemos la posibilidad de utilizar Tag Helpers para diseñar nuestras vistas, esto nos permite omitir el uso de Razor y poder diseñar vistas simplemente extendiendo las propiedades de HTML con algunas especificas integradas.

Hay que aclarar que podemos usar una combinación de Razor y tag herlpes en pocas podemos usar el uno, el otro o la combinación de ambos.

Aquí esta una lista de como podemos se traduce a través de  TagHelpers cierta nomenclatura de Razor:

Razor
1 “@Html.LabelFor(model => model.title)”
2 “@Html.EditorFor(model => model.title)”
3 “@Html.ValidationMessageFor(model => model.title, “”)”
4 “@using (Html.BeginForm())”
5 “@Html.ValidationSummary(true, “”, new { @class = “text-danger” })”
6 “@Html.ActionLink(“Back to List”, “Index”)”
7 “@Html.TextAreaFor(model=> model.Description)”
8 “@Html.DropDownList(“Country”, (IEnumerable<SelectListItem>)ViewData[“Countries”])”
Tag Helper
1 <label asp-for=”title”></label>
2 <input asp-for=”title” />
3 <span asp-validation-for=”title”></span>
4 <form asp-action=”Create”>
5
6 <a asp-action=”Index”>Back to List</a>
7 <textarea asp-for=”Description”></textarea>
8 <select asp-for=”Country” asp-items=”Model.Countries”></select>

Sin título

Razor vs Tag helpers

Introducción a ASP.NET Core con Visual studio 2017

Ruta por defecto en un proyecto Web.Api .Net Core

marzo 30, 2017 Deja un comentario

Podemos definir facilmente la ruta en la que se va inicar nuestro proyecto Web.Api cuando hagamos debug

para ellos solo debemos ir a las propiedades del proyecto  y luego definir en debug la ruta que deseemos abrir por defecto.

 

webapicore

 

webapicore2

Definir página inicial en ASP.NET Core

marzo 29, 2017 Deja un comentario

Para definir una pagina por defecto en ASP.Net core simplemente tenemos que cambia la ruta por defecto del controlador

 app.UseMvc(routes =>
 {
 routes.MapRoute(
 name: "default",
 template: "{controller=[controller]}/{action=[action]}/{id?}");
 });

Si deseamos especificar una pagina HTML debemos usar el metodo DefaultFiles como muestra en el ejemplo

 DefaultFilesOptions DefaultFile = new DefaultFilesOptions();
 DefaultFile.DefaultFileNames.Clear();
 DefaultFile.DefaultFileNames.Add("MyPage.html");
 app.UseDefaultFiles(DefaultFile);
 app.UseStaticFiles();

Solicitar autenticación en todo un sitio ASP.NET MVC

Por temas de seguridad es importante que todo un sitio solo pueda ser accedido por un usuario autenticado y solo aquellas funcionalidades que no lo necesiten se les otorgue el anonimato.

para que un controlador o un método en un controlador simplemente debemos colocar el atributo:

 [Authorize]

para que solo un usuario autenticado pueda acceder a el.

Si queremos aplicar esto para todo el sitio simplemente en el archivo FilterConfig debemos agregar el atributo

 public static void RegisterGlobalFilters(GlobalFilterCollection filters)
 { 
 filters.Add(new AuthorizeAttribute());
 }

 

Después de hacer esto si queremos que ciertos métodos o controlados no necesiten autenticación por parte del usuario, usamos el siguiente atributo:

 [AllowAnonymous]