iT Synergy Blogs

Growing Innovation - Soluciones a problemas reales

  • Facebook
  • Instagram
  • LinkedIn
  • Phone
  • Twitter
  • YouTube

Copyright © 2025 · iT Synergy·

Conectar aplicaciones .Net con Oracle usando Entity Framework
Conectar aplicaciones .Net con Oracle usando Entity Framework avatar

August 31, 2016 By Carlos Alberto Rueda Valenzuela Leave a Comment

Para crear una conexión con bases de datos Oracle usando Entity Framework debemos tener en cuenta los siguientes requisitos:

  • Tener Instalado un cliente Oracle
  • Instalar los Oracle Developer Tools for Visual Studio. Este ultimo lo podemos descargar siguiendo estos pasos:
    • Intentamos crear una conexión con el servidor Oracle. El nos muestra un link en la descripción. Presionamos sobre este y vamos a esa URL

.1

    • Seguimos los pasos que indican en la página para descargarlo

2

    • Lo instalamos
    • Reiniciamos Visual Studio
    • Intentamos crearla nuevamente y podemos observar que ahora si nos permite ingresar usuario, contraseña y el TNSname al que deseamos apuntar

3

Filed Under: Entity Framework

Trabajando SCRUM con Visual Studio Team Services (VSTS)
Trabajando SCRUM con Visual Studio Team Services (VSTS) avatar

May 19, 2016 By Jimmy Quejada Meneses Leave a Comment

Visual Studio Team Services (VSTS), anteriormente llamado Visual Studio Team System y Visual Studio Online, proporciona un conjunto de herramientas de colaboración en la nube que potencia el trabajo de su entorno de desarrollo integrado (IDE) existente con todas las tareas del ciclo de desarrollo de productos, permitiendo que el equipo pueda trabajar eficazmente en proyectos de software de todas las formas y tamaños.

En este post, veremos un repaso introductorio pero clave de la experiencia de haber trabajado VSTS y proyectos ágiles, con su marco de trabajo más difundido, SCRUM.

Capture Creación Proyecto SCRUM CPE WA

VSTS cuenta con todas las capacidades para permitir al SCRUM Master, al Product Owner y al equipo de trabajo gestionar sus tareas y tener total visibilidad del proyecto. Desde la gestión del backlog, la planeación de sprints, pasando por el registro de bugs y la gestión de releases.

Capture Sprint7 CPEWA

De igual forma mediante las gráficas de seguimiento permite al equipo estar enfocado en los indicadores del proyecto para completar y entregar lo comprometido al negocio en los tiempos oportunos.

Gráfica Burndown Sprint 7 CPE WA

Capture Gráfica Burndown Sprint 7 CPE WA

Gráfica Velocity CPE WA

Capture Gráfica Velocity CPE WA

Una de las ventajas que encontré al trabajar SCRUM con VSTS es la integración y el grado de detalle que se tiene desde la la gestión del proyecto (gestión del backlog, equipo y  sprints) con la codificación, las pruebas de calidad, los releases y otros componentes del ciclo del producto.

Capture Code Explorer CPE WA 2

Es notable la facilidad y el beneficio de que toda la solución se encuentre en la nube y permita a diferentes interesados del proyecto, no sólo a los desarrolladores, conocer el estado del proyecto en cualquier momento.

Obviamente se debe considerar a VSTS como una herramienta que hace parte de la mejora continua del proceso de desarrollo de productos y servicios apoyado en el marco de trabajo SCRUM. Ya que como lo menciona el primer principio del manifiesto ágil, individuos e interacciones por sobre procesos y herramientas, para la mentalidad ágil es una facilidad y nunca debe estar por encima de las personas ni la interacción natural del equipo de trabajo.

Para más información pueden consultar en los siguientes enlaces y otros muchos en Internet:

https://www.visualstudio.com/en-us/get-started/work/work-in-sprints-vs

https://www.scrumalliance.org/

Manifesto for Agile Software Development

 

Cordial saludo,

 

Filed Under: SCRUM Tagged With: AGILE, SCRUM, SPRINT, VISUAL STUDIO, VSTS

Cómo subir una carpeta local a un contenedor de Azure blob storage ?
Cómo subir una carpeta local a un contenedor de Azure blob storage ? avatar

May 19, 2016 By Jimmy Quejada Meneses Leave a Comment

Hola amigos!

En días pasados en un proyecto que desarrollabamos con el equipo de iT Synergy del proyecto CPE Windows App Prendo Y Aprendo me encontré con el desafío de desarrollar la funcionalidad para subir un directorio (carpeta) desde el pc del usuario a un contenedor blob storage de Azure. Aunque encontré en internet algunos links base no lograban la implementación completa o tenían referencias obsoletas. Agradezco a las pesonas que con sus post me ayudaron para resolver el problema. 

En este post les comparto la clase base de la implementación desarrollada en C#. El proyecto fue implementado con ASP.NET MVC 5.

using Microsoft.WindowsAzure.Storage;
using Microsoft.WindowsAzure.Storage.Blob;
using Microsoft.WindowsAzure.Storage.RetryPolicies;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.IO;
using System.Linq;

namespace CPE.PrendoYAprendo.ContentManager.Models
{
/// <summary>
/// Blob storage manager class
/// </summary>
public class BlobManager
{
private readonly CloudStorageAccount _account;
private readonly CloudBlobClient _blobClient;

/// <summary>
/// Initializes a new instance of the <see cref=”BlobManager” /> class.
/// </summary>
/// <param name=”connectionStringName”>Name of the connection string in app.config or web.config file.</param>
public BlobManager(string connectionStringName)
{
_account = CloudStorageAccount.Parse(ConfigurationManager.AppSettings[“StorageConnectionString”].ToString());

_blobClient = _account.CreateCloudBlobClient();

IRetryPolicy linearRetryPolicy = new LinearRetry(TimeSpan.FromSeconds(2), 10);
_blobClient.DefaultRequestOptions.RetryPolicy = linearRetryPolicy;

}

/// <summary>
/// Updates or created a blob in Azure blobl storage
/// </summary>
/// <param name=”containerName”>Name of the container.</param>
/// <param name=”blobName”>Name of the blob.</param>
/// <param name=”content”>The content of the blob.</param>
/// <returns></returns>
public bool PutBlob(string containerName, string blobName, byte[] content)
{
return ExecuteWithExceptionHandlingAndReturnValue(
() =>
{
CloudBlobContainer container = _blobClient.GetContainerReference(containerName);
CloudBlockBlob blob = container.GetBlockBlobReference(blobName);
// Primero se convierte el array a stream
//Stream stream = new MemoryStream(content);
using (Stream stream = new MemoryStream(content))
{
blob.UploadFromStream(stream);
}
});
}

/// <summary>
/// Creates the container in Azure blobl storage
/// </summary>
/// <param name=”containerName”>Name of the container.</param>
/// <returns>True if contianer was created successfully</returns>
public bool CreateContainer(string containerName)
{
return ExecuteWithExceptionHandlingAndReturnValue(
() =>
{
CloudBlobContainer container = _blobClient.GetContainerReference(containerName);
container.Create();
});
}

/// <summary>
/// Checks if a container exist.
/// </summary>
/// <param name=”containerName”>Name of the container.</param>
/// <returns>True if conainer exists</returns>
public bool DoesContainerExist(string containerName)
{
bool returnValue = false;
ExecuteWithExceptionHandling(
() =>
{
IEnumerable<CloudBlobContainer> containers = _blobClient.ListContainers();
returnValue = containers.Any(one => one.Name == containerName);
});
return returnValue;
}

/// <summary>
/// Uploads the directory to blobl storage
/// </summary>
/// <param name=”sourceDirectory”>The source directory name.</param>
/// <param name=”containerName”>Name of the container to upload to.</param>
/// <returns>True if successfully uploaded</returns>
public bool UploadDirectory(string sourceDirectory, string containerName)
{
string[] s = containerName.Split(‘/’);
string sContainerName = s[0];
string sFolderName = s[1];

return UploadDirectory(sourceDirectory, sContainerName, sFolderName);
//return UploadDirectory(sourceDirectory, containerName, string.Empty);

}

private bool UploadDirectory(string sourceDirectory, string containerName, string prefixAzureFolderName)
{
return ExecuteWithExceptionHandlingAndReturnValue(
() =>
{
if (!DoesContainerExist(containerName))
{
CreateContainer(containerName);
}
var folder = new DirectoryInfo(sourceDirectory);
var files = folder.GetFiles();
foreach (var fileInfo in files)
{
string blobName = fileInfo.Name;
if (!string.IsNullOrEmpty(prefixAzureFolderName))
{
blobName = prefixAzureFolderName + “/” + blobName;
}
PutBlob(containerName, blobName, File.ReadAllBytes(fileInfo.FullName));
}
var subFolders = folder.GetDirectories();
foreach (var directoryInfo in subFolders)
{
var prefix = directoryInfo.Name;
if (!string.IsNullOrEmpty(prefixAzureFolderName))
{
prefix = prefixAzureFolderName + “/” + prefix;
}
UploadDirectory(directoryInfo.FullName, containerName, prefix);
}
});
}

private void ExecuteWithExceptionHandling(Action action)
{
try
{
action();
}
catch (StorageException ex)
{
var requestInformation = ex.RequestInformation;
if ((int)(System.Net.HttpStatusCode)requestInformation.HttpStatusCode != 409)
{
throw;
}
}
}

private bool ExecuteWithExceptionHandlingAndReturnValue(Action action)
{
try
{
action();
return true;
}
catch (StorageException ex)
{
var requestInformation = ex.RequestInformation;
if ((int)(System.Net.HttpStatusCode)requestInformation.HttpStatusCode == 409)
{
return false;
}
throw;
}
}
}
}

Espero les sea de ayuda.

Cordial saludo,

 

 

 

Filed Under: Desarrollo de software Tagged With: ASP.NET, Azure, Blob Storage, C#, MVC 5

  • 1
  • 2
  • 3
  • …
  • 72
  • Next Page »

Team


Marco
Antonio Hernández

Jaime
Alonso Páez

Luis
Carlos Bernal

Ana
María Orozco

Juan
Camilo Zapata

Carlos
Alberto Rueda

Sonia
Elizabeth Soriano

Diana
Díaz Grijalba

Bernardo
Enrique Cardales

Alexandra
Bravo Restrepo

Juan
Alberto Vélez

Diana
Paola Padilla

Jhon
Jairo Rodriguez

Carlos
Andrés Vélez

Yully
Arias Castillo

Brayan
Ruiz

Jesús
Javier Hernández

Alejandro
Garcia Forero

Gustavo
Adolfo Echeverry

Josué
Leonardo Bohórquez

Oscar
Alberto Urrea

Odahir
Rolando Salcedo

Jimmy
Quejada Meneses

Natalia
Zartha Suárez

Mario
Andrés Cortés

Eric
Yovanny Martinez

Carolina
Torres Rodríguez

Juan
Mauricio García

Tag Cloud

.NET (9) 940px (1) Analysis Services mdx (1) An attempt was made to load a program with an incorrect format. (1) ASP.NET MVC (1) Azure (3) Backup (1) BAM (7) BAM API (1) BAMTraceException (2) BI (3) BizTalk (24) Business Intelligence (6) C# (2) caracteristicas de publicacion (2) Content Editor (3) ESB (15) ESB Toolkit (3) General (4) habilitar caracteristicas (3) indexes (2) Integration Services (2) Master Page (3) MDX (2) MSE (11) net.tcp (2) Office 365 (2) Oracle (2) Performance Point (2) Public Website (2) Receive Location (2) SDK (2) Servicio Web (2) Sharepoint 2010 (2) SharePoint 2013 (4) SharePoint Online (2) SOA (8) Soap Fault (2) Sort Months MDX (2) SQL Server (2) Visual (2) Visual Studio 2010 (2) WCF (19) Windows (3) Windows 8 (17)

Categories

  • .NET (33)
  • Analysis Services (1)
  • ASP.NET MVC (2)
  • Azure (7)
  • BAM (9)
  • BAM PrimaryImport (3)
  • BigData (1)
  • BizTalk (77)
  • BizTalk 2010 configurations (57)
  • BizTalk Application (60)
  • BizTalk Services (13)
  • Business Intelligence (4)
  • Cloud (3)
  • CMD (1)
  • CodeSmith – NetTiers (2)
  • CommandPrompt (1)
  • CRM OptionSet mapping component (1)
  • Desarrollo de software (6)
  • develop (6)
  • developers (3)
  • DropBox (1)
  • Dynamics (1)
  • Enterprise Architect (1)
  • Entity Framework (1)
  • Errores BizTalk (2)
  • ESB (27)
  • ETL (1)
  • Event Viewer (1)
  • Excel Services (1)
  • Foreach loop container (1)
  • General (4)
  • Gerencia de Proyectos (2)
  • Google (1)
  • Grouped Slices (1)
  • Human Talent (1)
  • IIS (4)
  • Integración (6)
  • Integration Services (3)
  • KingswaySoft (1)
  • Lync (1)
  • MSE (13)
  • Office 365 (2)
  • Oracle Data Adapter (2)
  • Performance Point (4)
  • Picklist (1)
  • Pivot Table (1)
  • Procesos (1)
  • Pruebas (1)
  • Public Website (2)
  • Reports (1)
  • SCRUM (1)
  • SDK (2)
  • SEO (1)
  • Servicios (2)
  • Sharepoint (9)
  • SharePoint 2010 (10)
  • SharePoint 2013 (4)
  • SharePoint Online (2)
  • SharpBox (1)
  • Shortcuts (1)
  • Sin categoría (1)
  • SOA (50)
  • SQL (5)
  • SQL Server (3)
  • SQL Server Management Studio (1)
  • SSIS (3)
  • SSL (1)
  • SSO (1)
  • Tracking Profile Editor (2)
  • Twitter (1)
  • Uncategorized (1)
  • Virtual Network (2)
  • Visual Studio 11 (1)
  • Visual Studio 2010 (2)
  • Visual Studio Online (1)
  • VMware (2)
  • WCF (24)
  • Web (1)
  • Web Api (1)
  • Windows (5)
  • Windows 8 (11)
  • Windows Azure (2)
  • Windows Live Write (1)
  • Windows Phone (7)
  • Windows Phone 8 (1)
  • Windows Scheduler (1)
  • windows8 (2)
  • WindowsRT (3)
  • WP7 SDK (1)

Manage

  • Log in
  • Entries feed
  • Comments feed
  • WordPress.org