Articles of asp.net web api

API Web e ValidateAntiForgeryToken

Abbiamo alcuni servizi Web MVC esistenti denominati stile AJAX dalle pagine Web. Questi servizi utilizzano l’attributo ValidateAntiForgeryToken per aiutare a prevenire le falsificazioni delle richieste. Stiamo cercando di migrare questi servizi alle API Web, ma non sembra esserci alcuna funzionalità anti-contraffazione equivalente. Mi sto perdendo qualcosa? Esiste un approccio diverso per affrontare le falsificazioni delle […]

Rilevato il loop di auto riferimento di Entity Framework

Ho uno strano errore. Sto sperimentando un’API Web .NET 4.5, Entity Framework e MS SQL Server. Ho già creato il database e impostato le chiavi e le relazioni primarie e straniere corrette. Ho creato un modello .edmx e ho importato due tabelle: Dipendente e Reparto. Un dipartimento può avere molti dipendenti e questa relazione esiste. […]

ASP.NET WebApi: come eseguire un post multipart con caricamento file utilizzando WebApi HttpClient

Ho un servizio WebApi che gestisce un caricamento da un semplice modulo, come questo: Tuttavia, non riesco a capire come simulare lo stesso post utilizzando l’API HttpClient. Il bit FormUrlEncodedContent è abbastanza semplice, ma come faccio ad aggiungere il contenuto del file con il nome al post?

ASP.NET Web API OperationCanceledException quando il browser annulla la richiesta

Quando un utente carica una pagina, effettua una o più richieste Ajax, che colpiscono i controller API Web ASP.NET 2. Se l’utente naviga verso un’altra pagina, prima che queste richieste vengano completate, le richieste vengono annullate dal browser. Il nostro HttpModule ELMAH registra quindi due errori per ogni richiesta annullata: Errore 1: System.Threading.Tasks.TaskCanceledException: A task […]

Instradamento con più metodi Get in API Web ASP.NET

Sto usando Web Api con ASP.NET MVC e sono molto nuovo ad esso. Ho fatto alcune demo sul sito di asp.net e sto cercando di fare quanto segue. Ho 4 metodi get, con le seguenti firme public List Get() { // gets all customer } public List GetCustomerByCurrentMonth() { // gets some customer on some […]

Restituzione del codice di stato http dal controller Web Api

Sto cercando di restituire un codice di stato di 304 non modificato per un metodo GET in un controller web api. L’unico modo in cui ho avuto successo era qualcosa del genere: public class TryController : ApiController { public User GetUser(int userId, DateTime lastModifiedAtClient) { var user = new DataEntities().Users.First(p => p.Id == userId); if […]

Gestione delle eccezioni API Web ASP.NET Core

Ho iniziato a utilizzare ASP.NET Core per il mio nuovo progetto API REST dopo aver utilizzato API Web ASP.NET regolare per molti anni. Non vedo un buon modo per gestire le eccezioni in API Web ASP.NET Core. Ho provato a implementare filtro / attributo di gestione delle eccezioni: public class ErrorHandlingFilter : ExceptionFilterAttribute { public […]

Lanciare HttpResponseException o restituire Request.CreateErrorResponse?

Dopo aver esaminato un articolo Gestione delle eccezioni in API Web ASP.NET, sono un po ‘confuso su quando generare un’eccezione e restituire una risposta di errore. Mi chiedo anche se sia ansible modificare la risposta quando il metodo restituisce un modello specifico per il dominio invece di HttpResponseMessage … Quindi, per ricapitolare ecco le mie […]

ServiceStack vs API Web ASP.Net

Voglio scrivere una nuova API di stile REST e ho guardato a ServiceStack e mi piace molto. Tuttavia, ho visto che Microsoft ha rilasciato il progetto API Web ASP.Net come parte della nuova MVC 4 beta. Qualcuno ha guardato il nuovo progetto Web API? Puoi fornire vantaggi / svantaggi di ciascun sistema?

Attività a lunga esecuzione in WebAPI

Ecco il mio problema: ho bisogno di chiamare più metodi di terze parti all’interno di un ApiController. La firma per questi metodi è Task DoSomethingAsync(SomeClass someData, SomeOtherClass moreData) . Voglio che quelle chiamate continuino a essere eseguite in background, dopo che ApiController ha inviato i dati al client. Al termine di DoSomethingAsync desidero eseguire la […]