No es preciso saber si una computadora esta conectada a Internet con C# pero podemos saber si efectivamente se realizo la conexión a un sitio especifico y deducir si la computadora esta efectivamente conectada o no.
Podemos verificar un par de cosas que si bien no nos aseguran que se realice una conexión efectiva si pueden ayudarnos a verificarla.
Primero podemos revisar la conexión a la Red local, si no esta conectada entonces no hay Internet, de lo contrario solo podemos asegurar que esté conectada al módem por ejemplo mas no que tenga salida a Internet.
string Estado = "";
bool RedActiva = System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable();
if (RedActiva)
Estado = "Se estableció conexión con la red local";
else
Estado = "No está conectado a la red";
Ahora si estamos conectados a la Red podemos enviar un ping a una pagina en Internet para asegurar la conexión.
string Estado = "";
System.Uri Url = new System.Uri("https://www.google.com/");
System.Net.WebRequest WebRequest;
WebRequest = System.Net.WebRequest.Create(Url);
System.Net.WebResponse objetoResp;
try
{
objetoResp = WebRequest.GetResponse();
Estado = "Se establecio conexión a internet corretamente.";
objetoResp.Close();
}catch (Exception e)
{
Estado = "No se pudo conectar a Internet " + e.Message;
}
WebRequest = null;
Si se realiza correctamente podemos asegurar que si hay conexión, de lo contrario tenemos que esperar a que entre al catch y eso puede tardar unos segundos.
No se puede hacer conexión con todos los sitios por la configuración de cada uno de ellos, con google.com si se puede y es el que mas se usa para estos casos, de lo contrario puede arrojar un mensaje como este
Vamos a crear una DataTable y agregarle columnas y filas manualmente
Primero declaramos la Tabla, la Columna y la Fila
DataTable tabla = new DataTable();
// Variables para las columnas y las filas
DataColumn column;
DataRow row;
Construimos la primera Columna asignándole Nombre y Tipo de datos y la agregamos a la Tabla
// Se tiene que crear primero la columna asignandole Nombre y Tipo de datos
column = new DataColumn();
column.DataType = System.Type.GetType("System.Int32");
column.ColumnName = "Codigo";
tabla.Columns.Add(column);
Tenemos que hacer lo mismo por cada Columna que queramos agregar
// Se tienen que crear todas las columnas que queramos
column = new DataColumn();
column.DataType = Type.GetType("System.String");
column.ColumnName = "Descripcion";
tabla.Columns.Add(column);
column = new DataColumn();
column.DataType = Type.GetType("System.Decimal");
column.ColumnName = "ValorUnitario";
tabla.Columns.Add(column);
Ahora agregamos los registros a nuestra Tabla, para eso creamos una Fila que tenga relación con la Tabla y por cada Columna llenamos los valores que queramos y por ultimo agregamos la Fila a la Tabla
// Se crea una fila por cada registro que necesitemos agregar
for (int i = 1; i < 11; i++)
{
row = tabla.NewRow();
row["Codigo"] = i;
row["Descripcion"] = "Nombre del codigo " + i.ToString();
row["ValorUnitario"] = i * 2;
tabla.Rows.Add(row);
}
Este es el resultado
Así queda el código completo
DataTable tabla = new DataTable();
// Variables para las columnas y las filas
DataColumn column;
DataRow row;
// Se tiene que crear primero la columna asignandole Nombre y Tipo de datos
column = new DataColumn();
column.DataType = System.Type.GetType("System.Int32");
column.ColumnName = "Codigo";
tabla.Columns.Add(column);
// Se tienen que crear todas las columnas que queramos
column = new DataColumn();
column.DataType = Type.GetType("System.String");
column.ColumnName = "Descripcion";
tabla.Columns.Add(column);
column = new DataColumn();
column.DataType = Type.GetType("System.Decimal");
column.ColumnName = "ValorUnitario";
tabla.Columns.Add(column);
// Se crea una fila por cada registro que necesitemos agregar
for (int i = 1; i < 11; i++)
{
row = tabla.NewRow();
row["Codigo"] = i;
row["Descripcion"] = "Nombre del codigo " + i.ToString();
row["ValorUnitario"] = i * 2;
tabla.Rows.Add(row);
}
This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.