Articles of asp.net web api

Complemento della serializzazione con APIController

Abbiamo più controller API che accettano richieste GET in questo modo: //FooController public IHttpActionResult Get([FromUri]Foo f); //BarController public IHttpActionResult Get([FromUri]Bar b); Ora – vorremmo (o, siamo forzati) modificare il formato della stringa DateTime all’interno della stringa di query GET a livello globale “yyyy-MM-ddTHH:mm:ss” -> “yyyy-MM-ddTHH.mm.ss” Dopo la modifica tutte le serializzazioni [FromUri] con classi contenenti […]

Come utilizzare l’attributo Route per associare la stringa di query con l’API Web?

Sto cercando di farlo funzionare: [Route(“api/Default”)] public class DefaultController : ApiController { [HttpGet, Route(“{name}”)] public string Get(string name) { return $”Hello ” + name; } } chiamando questo http://localhost:55539/api/Default?name=rami ma non funziona, provato anche questo: http://localhost:55539/api/Default/Hello?name=rami , anche questo non funziona: http://localhost:55539/api/Default/Hello/rami

webapi con oauth, revoca token?

Ciao a tutti sto seguendo questo articolo qui per implementare un webapi con account individuali usando owin owin. collegamento La mia domanda è un modo per revocare un accesso a token a Webapi Il metodo di “disconnessione” non fa proprio nulla da me visto che non accetto a questo webapi tramite un’app per telefono. Grazie […]

Controller WebApi2 che trasmette i controller ereditati

Sto provando a creare l’api REST di base con un controller di base in questo modo: Classe base: public abstract class WebApiEntityController : ApiController where TEntity : EntityBase { private readonly IRepository _repository; protected WebApiEntityController(IRepository repository) { _repository = repository; } [Route(“”)] [WebApiUnitOfWork] public HttpResponseMessage Get() { return Request.CreateResponse(HttpStatusCode.OK, _repository.ToList()); } [……….] Classe derivata: [RoutePrefix(“api/TimesheetTask”)] […]

Metodo API Web generico

Ho alcune classi come CustomerModel o CustomerDetailsModel che ereditano da ModelBase . Inoltre non voglio introdurre sottoclassi per ogni tipo di modello. In un caso è previsto un metodo post. Così ho potuto creare manualmente più percorsi per chiamare un metodo che assomiglia Handle(T model) where T : ModelBase Differiscono solo nel percorso in cui […]

Decorazione di API Web ASP.NET IHttpController

Sto cercando di racchiudere i controller API Web (implementazioni IHttpController ) con i decoratori, ma quando faccio questo, l’API Web genera un’eccezione, perché in qualche modo si aspetta l’effettiva implementazione. Applicare i decoratori ai controller è un trucco che ho applicato con successo ai controller MVC e ovviamente mi piace fare lo stesso in Web […]

Accesso a ApiController Digitare in DelegatingHandler

Sto usando Asp.Net WebAPI per un progetto. Attualmente sto lavorando su autenticazione e authorization. Ho un messageHandler che controllerà l’intestazione dell’autenticazione HTTP di una richiesta e costruirà la mia id quadro e il profilo utente. Tuttavia, voglio annotare l’azione del mio controller (o solo il controller) con le affermazioni che l’azione potrebbe richiedere (abbiamo molte […]

Gestione dei dati JSON di grandi dimensioni restituiti dall’API Web

Stiamo creando un’API Web che riceve l’array di stringhe come parametro di input che interroga il database Oracle e restituisce il risultato come file JSON. Quindi il codice è come namespace PDataController.Controllers { public class ProvantisDataController : ApiController { public HttpResponseMessage Getdetails([FromUri] string[] id) { List prms = new List(); string connStr = ConfigurationManager.ConnectionStrings[“PDataConnection”].ConnectionString; using […]

API Web Il ritorno del contenuto di HttpResponseMessage è incompleto

Vorrei restituire un csv generato dal mio database usando Web API 5.0. Funziona benissimo tranne che il csv restituito viene troncato. Presumo che il problema riguardi la gestione di MemoryBuffer, ma non riesco a trovare dove sia. Il mio codice (risolto): IEnumerable masterTripList = _obsvMasterRepo.GetObsTrips(vesselName, dateYear, port, obsvCode, obsvTripCode, obsvProgCode, lastModifiedDateYear, lastModifiedBy, statusCode); IList masterTripModelList […]

Deadlock con ContinueWiths in WebAPI

Abbiamo riscontrato un sacco di deadlock come parte dell’esposizione di alcuni codici esistenti su Web API. Sono stato in grado di distillare il problema in questo semplicissimo esempio che resterà in sospeso per sempre: public class MyController : ApiController { public Task Get() { var context = TaskScheduler.FromCurrentSynchronizationContext(); return Task.FromResult(1) .ContinueWith(_ => { }, context) […]