1

I have a page where the user can select multiple files and upload them.

Once the files are buffered in the server, they are deserialized, and the object graphs are stored using Entity Framework Core 2 and SQL Server.

All this happens within a controller action.

The problem is that when the file is a little bit bigger, this collection of tasks can take about 5 minutes to complete, and because of that, I get a 502 error (probably a timeout).

To solve this problem, I had the idea of reporting progress. So it would prevent the timeout. I researched, and some people suggested using SignalR. But I've found out that SignalR is not yet available for Asp.Net Core.

So how can I solve this issue in a basic way? I would like to report progress from my controller action. But if this is complicated stuff to do, then how can I prevent the timeout from happening?

I am using Angular 4.3.5 by the way.

whackamadoodle3000
  • 6,684
  • 4
  • 27
  • 44
Jackson Mourão
  • 1,041
  • 10
  • 19
  • If push-based system cannot be done, you can always retreat back to pull-based solution: make an endpoint to let client code poke it and get back the progress. Not necessarily advocating for it though. – Harry Ninh Aug 30 '17 at 01:50
  • Did you check this? https://chsakell.com/2016/10/10/real-time-applications-using-asp-net-core-signalr-angular/ – KRoy Aug 30 '17 at 06:09
  • Yes I did. But he is using an alpha version of signalr. I am a little bit afraid of using something unstable. Perhaps I will give it a try If no other options appear. – Jackson Mourão Aug 30 '17 at 15:28
  • @JacksonMourão Is there any article regarding aspnetcore 2.0 - sql reports integration ? – k11k2 Oct 13 '17 at 10:37
  • Sorry. I don't know. – Jackson Mourão Oct 15 '17 at 03:11

0 Answers0