vendredi 11 mars 2016

Ethical ways of uploading images async to Sharepoint from ASP.net 5

Another title could be 'How to make an async Repository pattern with image upload in ASP.NET 5'

I don't know if this is the correct exchange to post to, but I couldn't find anything regarding ethical or design patterns, Code Review comes close but this isn't about code.

I'm making a site with ASP.NET 5 and it uses the CSOM (ClientContext, etc) to connect to a Sharepoint Online server. If the user has uploaded an image (to a Web API) it needs to be placed on the Sharepoint.

the request currently takes too long if everything is synchronous. (6-7 seconds) but I have several solutions for async. However I feel some of them are not entirely 'ethical' and I want to pick the best solution.

I want the image upload to be 'fire and forget' since in this case I don't care if it worked or not, but I have no idea where I should start placing async/await.

Should I make the entire thing async and start from Web API method? I feel this is unnecessary because as I said I'm not looking for the result of the upload. I'm using a Repository and Context design pattern, should async only be placed in the repository? Can I just place it in the context?

Also should I avoid Task.Run() and other 'unregistered' background workers for this action? I read that these threads can be lost because of runtime cleanup but I don't know if I should avoid them entirely for such a small task of 1-2 seconds.

Also, should I ignore the CS4014 warning if I do this or would it be better to let it stay?

CS4014: Because this call is not awaited, execution of the current method continues before the call is completed. Consider applying the 'await' operator to the result of the call.

Aucun commentaire:

Enregistrer un commentaire