Foro Oficial de C#

Necesito ayuda con este inconveniente por favor:

Tengo esta clase:
public class UrlFetcher
{
string url;
public UrlFetcher (string url)
{
this.url = url;
}

public void Fetch()
{
// aqui se hace algo con la url
}
}

Y en una clase diferente tengo esto:
foreach(string myUrl in ListOfUrls)
{
UrlFetcher fetcher = new UrlFetcher (myUrl);
new Thread (new ThreadStart (fetcher.Fetch)).Start();
}


Estoy trabajando con el framework 1.1 asi que esta es una de las opciones para "enviar" parametros a un hilo.
Digamos que en "ListOfUrls" hay 200 items, y por cada item o url envío un hilo pero no puedo enviar los 200 hilos de una como sucede en el ejemplo anterior sino que debo hacerlo por partes, ejemplo: Enviar 10 hilos y esperar a que terminen para continuar con los otros 10 hilos y asi hasta evacuar todos los items, como puedo hacer esto? Cualquier ayuda que me puedan dar se los agradeceré.
Hola, yo con hilos he trabajado muy poco en mi corta vida, pero creo que con semáforos podés hacer lo que necesitás.

Acá está un link traducido de portugués a español que encontré al respecto, fijate si te sirve:
http://techblog.desenvolvedores.net/2011/04/21/controlando-threads-com-semaforos-c/

Si no sale traducido, GChrome te hace el favor. Igual si no hacés una búsqueda sobre ese tema y mirás si te sirve.
 
  • Me gusta
Reacciones: 4 personas
Hola, yo con hilos he trabajado muy poco en mi corta vida, pero creo que con semáforos podés hacer lo que necesitás.

Acá está un link traducido de portugués a español que encontré al respecto, fijate si te sirve:
http://techblog.desenvolvedores.net/2011/04/21/controlando-threads-com-semaforos-c/

Si no sale traducido, GChrome te hace el favor. Igual si no hacés una búsqueda sobre ese tema y mirás si te sirve.

Hermano muchas gracias! Eso era lo que necesitaba.
 
  • Me gusta
Reacciones: 2 personas
buenas señores, tengo 2 preguntas.

1.tengo este codigo, estoy trabajando con code first y entity framework ctp5 beta, supuestamente esta trae unas convenciones para cambiar mejorar el manejo de la base de datos y otras mar.ica.da.

lastimosamente he tratado de encontrar las Tconventions(las que estan en negritas) pero nade me ha funcionado, no se de donde carajos sacarlas, alguien sabe como extraerlas?
Código:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.Entity;
using System.Data.Entity.ModelConfiguration;
using System.Data.Entity.ModelConfiguration.Conventions;
using System.Data.Entity.Database;
   protected override void OnModelCreating(ModelBuilder modelBuilder)
        {


            modelBuilder.Conventions.Remove<[B]TableAttributeConvention[/B]>();
            modelBuilder.Conventions.Remove<[B]PluralizingTableNameConvention[/B]>();
            
        }

he utilizado cualquier cantidad de namespace a ver si las encuentra y pailas, estan mas escondidas que ublime XD

2. cual creen ustedes que es la mejor forma de exportar informacion de un archivo de excel a una base de datos de acuerdo a su experiencia?

gracias de antemano.
 
Buenas tengo una pregunta, como es el tema del licenciamiento para asp.net? ya casi temrino mis estudios y tengo varios pryectos pero como se si puedo o no venderlos? he estado buscando sobre la licencia del desarrollador y que cobija pero nada, no veo nada referente a asp.net, como se manejarian en este caso las licencias de programador y si alguien la tiene cuanto cuesta?? o como la consigo? cualquier informacion es util la verdad, aunque trabajo con c#, y visual basic en apicacions de escritorio tambien lo hago en asp.net, pero no se como hacer para poder vender mis aplicaciones snin tener problemas legales, y microsoft nunca responde los mails ¬¬ tonces....si alguien sabe como hacer, pues si es posible, suministre esta informacion. Gracias
 
Buenas tengo una pregunta, como es el tema del licenciamiento para asp.net? ya casi temrino mis estudios y tengo varios pryectos pero como se si puedo o no venderlos? he estado buscando sobre la licencia del desarrollador y que cobija pero nada, no veo nada referente a asp.net, como se manejarian en este caso las licencias de programador y si alguien la tiene cuanto cuesta?? o como la consigo? cualquier informacion es util la verdad, aunque trabajo con c#, y visual basic en apicacions de escritorio tambien lo hago en asp.net, pero no se como hacer para poder vender mis aplicaciones snin tener problemas legales, y microsoft nunca responde los mails ¬¬ tonces....si alguien sabe como hacer, pues si es posible, suministre esta informacion. Gracias

Kornholio ud no tiene que pagar nada a Microsoft por desarrollar software y venderlo. Puede libremente desarrollar y vender sus proyectos usando las versiones Express de Visual Studio y SQL Server las cuales son gratuitas. Si no desea usar estas versiones entonces si debe comprar licencias para las versiones pagas (Ultimate, Professional, etc).

Aclaro, lo unico que usted debe pagar son las herramientas si las llega a necesitar, pero como le dije Microsoft tiene versiones Express que tienen limitaciones y son gratis o usar Mono http://www.mono-project.com/ASP.NET
 
  • Me gusta
Reacciones: 2 personas
Kornholio ud no tiene que pagar nada a Microsoft por desarrollar software y venderlo. Puede libremente desarrollar y vender sus proyectos usando las versiones Express de Visual Studio y SQL Server las cuales son gratuitas. Si no desea usar estas versiones entonces si debe comprar licencias para las versiones pagas (Ultimate, Professional, etc).

Aclaro, lo unico que usted debe pagar son las herramientas si las llega a necesitar, pero como le dije Microsoft tiene versiones Express que tienen limitaciones y son gratis o usar Mono http://www.mono-project.com/ASP.NET

hola, gracias por tu respuesta, pero en cuanto a eso de las limitaciones... que limitaciones traen las versiones express?? la de asp.net por ejemplo...???
tenia entendido que aun usando las versiones express habia cierta clausula en el acuerdo de uso que podia causar ciertos problemas la momento de vernder una aplicacion (lo he escuchado, la verdad no me he ifjado...)
 
hola, gracias por tu respuesta, pero en cuanto a eso de las limitaciones... que limitaciones traen las versiones express?? la de asp.net por ejemplo...???
tenia entendido que aun usando las versiones express habia cierta clausula en el acuerdo de uso que podia causar ciertos problemas la momento de vernder una aplicacion (lo he escuchado, la verdad no me he ifjado...)

Yo llamé hace unos dias a Microsoft en Estados Unidos y claramente me respondieron que yo podia construir, vender y distribuir mis aplicaciones hechas en Visual C# Express o en cualquiera de las ediciones express de Visual Studio y que esa clausula es Universal, es decir, aplica para cualquier pais. Ya como es ASP.NET le tocaria comprar la licencia del servidor Windows 2008 o 2003, o en su defecto seria montar MONO en Linux, pero no se que tal funcione ahí.
 
  • Me gusta
Reacciones: 2 personas
Yo llamé hace unos dias a Microsoft en Estados Unidos y claramente me respondieron que yo podia construir, vender y distribuir mis aplicaciones hechas en Visual C# Express o en cualquiera de las ediciones express de Visual Studio y que esa clausula es Universal, es decir, aplica para cualquier pais. Ya como es ASP.NET le tocaria comprar la licencia del servidor Windows 2008 o 2003, o en su defecto seria montar MONO en Linux, pero no se que tal funcione ahí.

pero en ese caso no seria la empresa la que tendria que comprar la licencia del windows server?? porque sino imaginate, si vendo varias aplicaciones tengo que comprar varias licencias para clientes distintos :S una de la saplicaciones que tengo es para montar un servidor en la empresa que administre la maplicacion web y que las demas terminales se conecten a el a traves del navegador...
 
A ver, la versiones express son todas gratis, y se puede desarrollar todo lo que permitan y distribuirlo como se le antoje, ahora, hospedar un website estotalmente diferente.... si quiere lo puede hacer en su casa, puede montar IIS en su equipo y listo, pero si quiere soluciones eficientes necesitara un server, y si no quiere las versiones express y el server en casa por cuestiones de limitacion ahi si le toca pagarse las licencias y hospedaje.

SuerteX :)
 
  • Me gusta
Reacciones: 2 personas
pero en ese caso no seria la empresa la que tendria que comprar la licencia del windows server?? porque sino imaginate, si vendo varias aplicaciones tengo que comprar varias licencias para clientes distintos :S una de la saplicaciones que tengo es para montar un servidor en la empresa que administre la maplicacion web y que las demas terminales se conecten a el a traves del navegador...

Eso hace parte de las negociaciones que debe hacer con la empresa a la cual le va a vender el software. Por ejemplo una opción es que en el contrato que realice con la empresa, les hace saber que ellos deben disponer de sus propios servidores con windows server 2003 o 2008. Así usted solo se encarga del software y ellos de tener la infraestructura. Esto es lo mas común por que la gran mayoría de las empresas ya tienen licencias de windows server en cualquiera de sus versiones.
 
  • Me gusta
Reacciones: 2 personas
Eso hace parte de las negociaciones que debe hacer con la empresa a la cual le va a vender el software. Por ejemplo una opción es que en el contrato que realice con la empresa, les hace saber que ellos deben disponer de sus propios servidores con windows server 2003 o 2008. Así usted solo se encarga del software y ellos de tener la infraestructura. Esto es lo mas común por que la gran mayoría de las empresas ya tienen licencias de windows server en cualquiera de sus versiones.

Exactamente.


pero en ese caso no seria la empresa la que tendria que comprar la licencia del windows server?? porque sino imaginate, si vendo varias aplicaciones tengo que comprar varias licencias para clientes distintos :S una de la saplicaciones que tengo es para montar un servidor en la empresa que administre la maplicacion web y que las demas terminales se conecten a el a traves del navegador...

Negocea con ellos, que ellos compren el hardware y el Windows Server y tu solo pones el SQL Server Express, yo recomiendo el 2008 R2 ya que tiene 10Gb por base de datos, o si ya conocen lo nuevo que trae el 2012 pues de una, y desarrollas todo en Visual C# Express o en Visual Web Developer que es gratis... y listos!!
 
  • Me gusta
Reacciones: 2 personas
hola, gracias por tu respuesta, pero en cuanto a eso de las limitaciones... que limitaciones traen las versiones express?? la de asp.net por ejemplo...???
tenia entendido que aun usando las versiones express habia cierta clausula en el acuerdo de uso que podia causar ciertos problemas la momento de vernder una aplicacion (lo he escuchado, la verdad no me he ifjado...)

En esta pagina están las limitantes de las versiones express, ojo que no son limitantes en tema de ventas o licenciamiento, las limitantes son en funcionalidad pero no significa que el software que se desarrolle con estas va a ser de menor calidad: http://en.wikipedia.org/wiki/Microsoft_Visual_Studio_Express
 
En esta pagina están las limitantes de las versiones express, ojo que no son limitantes en tema de ventas o licenciamiento, las limitantes son en funcionalidad pero no significa que el software que se desarrolle con estas va a ser de menor calidad: http://en.wikipedia.org/wiki/Microsoft_Visual_Studio_Express

gracias esto era lo ke necesitaba, y en cuanto a los servidores, pues si, creo ke es lo mas facil, siempre he visto que la empresa es quien monta la infraestructura de red a usar y uno solo se encarga de la aplicacion, aunke bueno se podia negocear el pakete completo, seria "alguito" extra de dinero no?? jajaja pero bueno serian mas costos para la empresa y entre menos paguen mas rapido aceptan :p (ke tacaños :S) pero bueno gracias, ahi les comento como me va con la negociacion ya tengo 2 cientes ^^
 
saliendonos un poco del tema......no se si es porke ya me he acostumbrado a ASP o ke... :S pero ahora intento conectar unos campos de mi base de datos a un combo box y no me los pmuestra, lo hice desde las propiedades del combo box y nada, lo hice por codigo y nada :S

este es el codigo, a ver si ustedes ven el error, yo no lo veo :S

PHP:
Private Sub formulario_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
cn = New SqlConnection("Data Source=SERVIDOR-PC;Initial Catalog=DATABASE;Persist Security Info=True;User ID=Admin;Password=***********")
Try
cn.Open()
sql = "SELECT Codigo, Nombre FROM Operarios WHERE Estado = 1"
cm = New SqlCommand()
cm.Connection = cn
da = New SqlDataAdapter(cm)
ds = New DataSet()
da.Fill(ds)
ComboBox1.DataSource = ds.Tables(0)
ComboBox1.DisplayMember = ds.Tables(0).Columns(1).Caption.ToString()
ComboBox1.ValueMember = ds.Tables(0).Columns(0).Caption.ToString()
Catch ex As SqlException
MessageBox.Show(ex.Message.ToString, "error", MessageBoxButtons.OK, MessageBoxIcon.Error)
Finally
cn.Close()
End Try

End Sub

pero no entra al Try sino que de una muestra el mensaje de la exepcion (definitivamente es mas facil asp.... U,U)
 
saliendonos un poco del tema......no se si es porke ya me he acostumbrado a ASP o ke... :S pero ahora intento conectar unos campos de mi base de datos a un combo box y no me los pmuestra, lo hice desde las propiedades del combo box y nada, lo hice por codigo y nada :S

este es el codigo, a ver si ustedes ven el error, yo no lo veo :S

PHP:
Private Sub formulario_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
cn = New SqlConnection("Data Source=SERVIDOR-PC;Initial Catalog=DATABASE;Persist Security Info=True;User ID=Admin;Password=***********")
Try
cn.Open()
sql = "SELECT Codigo, Nombre FROM Operarios WHERE Estado = 1"
cm = New SqlCommand()
cm.Connection = cn
da = New SqlDataAdapter(cm)
ds = New DataSet()
da.Fill(ds)
ComboBox1.DataSource = ds.Tables(0)
ComboBox1.DisplayMember = ds.Tables(0).Columns(1).Caption.ToString()
ComboBox1.ValueMember = ds.Tables(0).Columns(0).Caption.ToString()
Catch ex As SqlException
MessageBox.Show(ex.Message.ToString, "error", MessageBoxButtons.OK, MessageBoxIcon.Error)
Finally
cn.Close()
End Try

End Sub

pero no entra al Try sino que de una muestra el mensaje de la exepcion (definitivamente es mas facil asp.... U,U)

No se, a mi no me gusta eso, y menos crear un DataSet para algo tan sencillo, mejor use un datatable ;).

PHP:
Private Sub formulario_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
cn = New SqlConnection("Data Source=SERVIDOR-PC;Initial Catalog=DATABASE;Persist Security Info=True;User ID=Admin;Password=***********")
Try
sql = "SELECT Codigo, Nombre FROM Operarios WHERE Estado = 1"
cm = New SqlCommand()
cm.Connection = cn
da = New SqlDataAdapter(cm)
var dt as New DataTable
da.Fill(dt)
ComboBox1.DataSource = dt
ComboBox1.DisplayMember = "Nombre "
ComboBox1.ValueMember = "Codigo"
Catch ex As SqlException
MessageBox.Show(ex.Message.ToString, "error", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try

End Sub


Tu problema esta en que abres una conexion que luego reclamas y por eso se queda esperando, cuando ejecutas un cn.Open abres la conexion que luego tu DataAdapter te pide, al encontrarla ocupada no muestra nada.

El detalle esta en que el DataAdapter abre y cierra por si solo la conexion ;).

PD: Este es el foro de C#, el de VB anda por ahi tambien :p.

SeurteX :)
 
Tu problema esta en que abres una conexion que luego reclamas y por eso se queda esperando, cuando ejecutas un cn.Open abres la conexion que luego tu DataAdapter te pide, al encontrarla ocupada no muestra nada.

El detalle esta en que el DataAdapter abre y cierra por si solo la conexion ;).

PD: Este es el foro de C#, el de VB anda por ahi tambien :p.

SeurteX :)

Bueno pero el problema es igual, solo cambia algunos comandos...

y en cuanto a el problema pos simplemente aplique la del tecnico de pc ***************o..."apague y encienda de nuevo", simplemente empece un nuevo proyecto y lo hice por las propiedades del control (combobox) y listo esta ves si funciono sin mas ni mas :S, gracias de todas formas ^^
 
buenas, una pregunta.

estoy haciendo un splash screen para un aplicacion, que tiene un loading y por lo general demora un poco en mostrarse mientras cargan los componentes. lo que necesito es que ese splash screen no pierda el foco, es decir, no importa donde le click (en cualquier area del escritorio), el splash screen no deje de mostrarse hasta que se cierre.

estoy trabajando con Windows Forms.

salu2.
 

Los últimos temas