0

I have configured a WCF service to transfer data on a streamed transfer mode. I think I have set the configurations properly because I'm able to transfer files above 100Mb and that's more than I need.

Now I'm calling my transfer service three times to get three different files that don't pass the 2 Mb each. The problem is that as soon as I call for the third file, my program freezes and I don't get any response anymore, forcing me to close the program.

I don't think this is a file size issue because I have tested passing files of 20 Mb of size and only the first two get to the client just fine. But i don't have any response from the third call.

Is this a configuration issue which may limit the service calls to just two?
Best regards

Steve Konves
  • 2,648
  • 3
  • 25
  • 44
Rodrigo Caballero
  • 1,090
  • 1
  • 15
  • 27
  • Are the first two files still being streamed when you start the third? Or are these sequential, synchronous calls? – Mike Parkhill Oct 05 '12 at 00:04
  • They are called synchronously. And I don't get any error log entry on the service, just the first two files correctly served. May this be a client issue? – Rodrigo Caballero Oct 05 '12 at 00:08
  • Does the service actually get the request or does the client lock up before sending the request? Have you put debugging into to try to narrow down how far the process gets before hanging? – Mike Parkhill Oct 05 '12 at 00:14
  • The service cannot make the third request up to the server. I mean that looking at the server's log file, I only have the 2 first requests. I think the client cannot make the request, because it just freezes – Rodrigo Caballero Oct 05 '12 at 00:45
  • I have took a look on my client's svclog file and the third request doesn't have a "Process Action" entry. The client cannot start the call. – Rodrigo Caballero Oct 05 '12 at 00:49
  • Then I'd start looking at the client to see how far it gets in the process. It could still be a service side problem if it can't establish the connection, but it sounds like a problem on the client. – Mike Parkhill Oct 05 '12 at 00:50
  • Is it normal to make the request and not having a response? The service call doesn't respond after the third call – Rodrigo Caballero Oct 05 '12 at 01:16
  • No, you should get a response. I take it you verified that the client is attempting to make the call. In which case I'd be checking to make sure you've released everything on your service after the first calls are done. – Mike Parkhill Oct 05 '12 at 01:30
  • I'm closing my service channel, I always do it in order to make the next call. I tried it with 15 files of 1Kb each, and... all of them get to the client. I was wondering that there's a limit between calls – Rodrigo Caballero Oct 05 '12 at 01:53
  • Do you use the same three files every time, in the same order? Could it be a problem with the third file? (Not sure what that might be, but it never hurts to ask). – Tim Oct 05 '12 at 03:02
  • I'm sending three files: A .dbf file (1.46 MB), a .shp file (0.59 MB) and a .png file (0.110 MB). The last one fails. If I pass in this order: 1. dbf, 2. png 3. shp, the same result. I have tried it with a local server and it does the job just fine, but my production server doesn't accept my third request. Maybe a server issue? – Rodrigo Caballero Oct 05 '12 at 14:40
  • Well, Now I'm almost sure there's a setting that tells WCF to allow the service to pass a sort of combination of a maximum of 2 (TWO) files that together account around a certain amount of bytes. I have passed a first file of 589 MB (Megabytes), then a 3 Megabytes one and the last one hangs out the program. What about it? – Rodrigo Caballero Oct 05 '12 at 15:42
  • WORKS: This link has the solution that works http://stackoverflow.com/questions/12467880/wcf-service-service-call-to-stream-endpoint-fails-on-3rd-call#comment17377498_12467880 – Rodrigo Caballero Oct 15 '12 at 23:36

1 Answers1

0

HALF-SOLVED

Well, First of all I could not find out why the client cannot reach the server after two succesful requests, it hangs out spectacularly.

Now I know that I'm able to transfer 500 Mb on the service I'm sending data to the client as a zipped file. Then I call to 7z.exe (7zip) to unzip my files.

This is not a way to solve this issue. The problem still exists and I think there's a way to solve it the right way. I'll be posting the answer as soon as I find it, but in the mean time, my users will keep using my system.

Rodrigo Caballero
  • 1,090
  • 1
  • 15
  • 27