2011-11-30 14 views
5

Tengo un servicio que procesa imágenes. El tiempo que tarda el proceso en completarse es de unos 2-3 minutos. ¿Puedo actualizar el cliente con el progreso del servicio? ¿De alguna manera puedo decirle al cliente que el proceso llegó al paso 3 o algo así?puede exponer el progreso de un servicio web a un cliente - WCF

Estoy usando WCF

Respuesta

1

Claro que puedes. Use algún método asincrónico de WCF para obtener el valor de% de procesamiento de imágenes. Quiero decir que tienes que crear este método. Y en el lado del cliente debe llamar a este método periódicamente.

+0

Por lo tanto, sugiere actualizar el progreso en una base de datos – Ryan

+0

Debe encontrar una manera de compartir el valor% entre el método que procesa imágenes y asíncrona. métodos le proporcionará al cliente este valor. Probablemente podría ser una base de datos ... También puedes echar un vistazo aquí http://stackoverflow.com/questions/7815087/wcf-methods-sharing-a-dictionary. Si va a utilizar un enfoque de base de datos, asegúrese de que este valor también pertenezca a cierta sesión de usuario. –

-1

Esto se hornea en un par de ensamblajes .NET. ¿Has mirado la clase WebClient por ejemplo? Hay * manejadores de eventos ProcessChanged, como DownloadProgressChanged.

Simplemente agréguelos y envuélvalos en sus métodos que llevan tiempo, p. ProcessImage().

+0

-1 no se aplica a WCF –

+0

¿Qué quiere decir que esto no se aplica a WCF? ¿Mi respuesta o la pregunta de Ryan? Si está hablando de mi respuesta, ¿desde cuándo WebClient no forma parte de WCF? – user118190

+0

WebClient es parte de .NET desde la versión 1.0. WCF vino con la versión 3.0. –

Cuestiones relacionadas