Web Service y DllImport

16/10/2003 - 00:13 por Jesus | Informe spam
En un servicio Web estamos importando funciones de una
DLL usando DllImport. El problema es que el servicio solo
puede responder una petición a la vez, si esta atendiendo
una y llega otra, se traba. ¿Alguien conoce alguna manera
de que puede atender varias solicitudes?

Gracias

Preguntas similare

Leer las respuestas

#1 Michael Giagnocavo [MVP]
16/10/2003 - 02:24 | Informe spam
Puedes poner tu codigo aqui (solo los partes necesarios)? El codigo debe
tener algo que no esta funcionando bien con el multithreading (porque los
web services normalmente funcionan bien con varias peticiones).
-mike
MVP

"Jesus" wrote in message
news:2c2e801c39369$9efd37b0$
En un servicio Web estamos importando funciones de una
DLL usando DllImport. El problema es que el servicio solo
puede responder una petición a la vez, si esta atendiendo
una y llega otra, se traba. ¿Alguien conoce alguna manera
de que puede atender varias solicitudes?

Gracias
Respuesta Responder a este mensaje
#2 Jesus
16/10/2003 - 16:42 | Informe spam
Aquí esta el código en una clase aparte en donde
definimos todos los imports, pero
Este es el que nos esta dado ese problema
namespace Library
{
public class Compiler
{
[DllImport("Compilador.dll",
EntryPoint="?
@@",
CallingConvention=CallingConvention.ThisCall)]
public static extern string Ejecuta(IntPtr ap,
bool flag,string archivo,string piza,string
wks,string treales,string tseries,int par_year1,int
par_year2);
}
}

Después lo llamamos en el WebService así

IntPtr acomp = Library.Compiler.CreaCompiler();
paso=Library.Compiler.Ejecuta(acomp,true,
"c:\\arc.err",
pd.llena_cadpiza,pd.llena_cadwks,
pd.llena_tablareales,
pd.llena_tablaseries, //hay que implementar
esto
pd.llena_year,pd.llena_year);

Es aquí en donde si ya esta atendiendo una llamada y
entra otra, se traba

Gracias

Puedes poner tu codigo aqui (solo los partes


necesarios)? El codigo debe
tener algo que no esta funcionando bien con el


multithreading (porque los
web services normalmente funcionan bien con varias


peticiones).
-mike
MVP

"Jesus" wrote in message
news:2c2e801c39369$9efd37b0$
En un servicio Web estamos importando funciones de una
DLL usando DllImport. El problema es que el servicio solo
puede responder una petición a la vez, si esta atendiendo
una y llega otra, se traba. ¿Alguien conoce alguna manera
de que puede atender varias solicitudes?

Gracias


.

Respuesta Responder a este mensaje
#3 Michael Giagnocavo [MVP]
16/10/2003 - 19:14 | Informe spam
Puedes hacer prubas para asegurar que es esa llamada (por ejemplo, cambiarlo
a un Thread.Sleep(5000) para probar). Puede ser que algo en ese Dll es solo
para un thread?

-mike
MVP

"Jesus" wrote in message
news:00a301c393f3$c0a52410$
Aquí esta el código en una clase aparte en donde
definimos todos los imports, pero
Este es el que nos esta dado ese problema
namespace Library
{
public class Compiler
{
[DllImport("Compilador.dll",
EntryPoint="?
@@",
CallingConvention=CallingConvention.ThisCall)]
public static extern string Ejecuta(IntPtr ap,
bool flag,string archivo,string piza,string
wks,string treales,string tseries,int par_year1,int
par_year2);
}
}

Después lo llamamos en el WebService así

IntPtr acomp = Library.Compiler.CreaCompiler();
paso=Library.Compiler.Ejecuta(acomp,true,
"c:\\arc.err",
pd.llena_cadpiza,pd.llena_cadwks,
pd.llena_tablareales,
pd.llena_tablaseries, //hay que implementar
esto
pd.llena_year,pd.llena_year);

Es aquí en donde si ya esta atendiendo una llamada y
entra otra, se traba

Gracias

Puedes poner tu codigo aqui (solo los partes


necesarios)? El codigo debe
tener algo que no esta funcionando bien con el


multithreading (porque los
web services normalmente funcionan bien con varias


peticiones).
-mike
MVP

"Jesus" wrote in message
news:2c2e801c39369$9efd37b0$
En un servicio Web estamos importando funciones de una
DLL usando DllImport. El problema es que el servicio solo
puede responder una petición a la vez, si esta atendiendo
una y llega otra, se traba. ¿Alguien conoce alguna manera
de que puede atender varias solicitudes?

Gracias


.

Respuesta Responder a este mensaje
#4 Ricardo Gonzalez
17/11/2003 - 16:43 | Informe spam
Es muy probable que la dll esté construida para single thread. Despues de
terminar la primera petición se atiende la segunda?

Ricardo González Vargas.
Design & Electronic Automation Engineer.
MVP

"Jesus" wrote in message
news:00a301c393f3$c0a52410$
Aquí esta el código en una clase aparte en donde
definimos todos los imports, pero
Este es el que nos esta dado ese problema
namespace Library
{
public class Compiler
{
[DllImport("Compilador.dll",
EntryPoint="?
@@",
CallingConvention=CallingConvention.ThisCall)]
public static extern string Ejecuta(IntPtr ap,
bool flag,string archivo,string piza,string
wks,string treales,string tseries,int par_year1,int
par_year2);
}
}

Después lo llamamos en el WebService así

IntPtr acomp = Library.Compiler.CreaCompiler();
paso=Library.Compiler.Ejecuta(acomp,true,
"c:\\arc.err",
pd.llena_cadpiza,pd.llena_cadwks,
pd.llena_tablareales,
pd.llena_tablaseries, //hay que implementar
esto
pd.llena_year,pd.llena_year);

Es aquí en donde si ya esta atendiendo una llamada y
entra otra, se traba

Gracias

Puedes poner tu codigo aqui (solo los partes


necesarios)? El codigo debe
tener algo que no esta funcionando bien con el


multithreading (porque los
web services normalmente funcionan bien con varias


peticiones).
-mike
MVP

"Jesus" wrote in message
news:2c2e801c39369$9efd37b0$
En un servicio Web estamos importando funciones de una
DLL usando DllImport. El problema es que el servicio solo
puede responder una petición a la vez, si esta atendiendo
una y llega otra, se traba. ¿Alguien conoce alguna manera
de que puede atender varias solicitudes?

Gracias


.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida