Articles of asp.net web api

Richiesta API di Azure AD 401 non autorizzata

Dispongo di un’API Web standard in esecuzione su un sito Web di Azure con l’autenticazione di Azure AD abilitata, durante la navigazione sull’API in un browser sono in grado di accedere tramite il browser e accedere all’API. L’applicazione desktop WPF tuttavia riceve una risposta non autorizzata quando invia la richiesta: var authContext = new AuthenticationContext(authority, […]

VS 2015 L’API Web ASP.NET (EF6) e Xamarin Enable-Migrations non riescono

Sto sviluppando un progetto che utilizzerà l’API Web ASP.NET come servizio dati e un’app portatile Xamarin come client. Sto cercando di abilitare le migrazioni nell’app Web, ma ottengo il seguente errore: Enable-Migrations -enableautomaticmigrations -ContextTypeName MyProject.Models.ApplicationDbContext -ProjectName MyProject -StartupProjectName MyProject.App -Verbose Using StartUp project ‘MyProject.App’. Exception calling “SetData” with “2” argument(s): “Type ‘Microsoft.VisualStudio.ProjectSystem.VS.Implementation.Package.Automation.OAProject’ in assembly ‘Microsoft.VisualStudio.ProjectSystem.VS.Implementation, […]

Come ottenere le informazioni dell’utente sul controller WebAPI dopo l’autenticazione con IdentityServer?

Non riesco a ottenere le informazioni dell’utente sul controller WebAPI dopo che l’app client si è autenticata correttamente con IdentityServer3. Di seguito sono riportati i passaggi: “Accedi con profilo e token di accesso” correttamente dall’app JavaScript Implicit Client Vedo i dati dell’utente sul pannello “Contenuto ID token” Faccio “Chiama servizio” al mio servizio WebAPI, vedo […]

Più azioni per lo stesso HttpVerb

Ho un controller API Web con le seguenti azioni: [HttpPut] public string Put(int id, JObject data) [HttpPut, ActionName(“Lock”)] public bool Lock(int id) [HttpPut, ActionName(“Unlock”)] public bool Unlock(int id) E i seguenti percorsi sono stati mappati: routes.MapHttpRoute( name: “Api”, routeTemplate: “api/{controller}/{id}”, defaults: new { id = RouteParameter.Optional } ); routes.MapHttpRoute( name: “ApiAction”, routeTemplate: “api/{controller}/{action}/{id}” ); Quando […]

Come ottengo il contenuto del file di un MultipartMemoryStreamProvider come un array di byte?

Ho creato un componente che carica i file su un controller API Web utilizzando FormData. Come ottengo il contenuto del file da MultipartMemoryStreamProvider come una matrice di byte? Ecco il metodo Web Api public Task<IEnumerable> Post() { if (Request.Content.IsMimeMultipartContent()) { var streamProvider = new MultipartMemoryStreamProvider(); var task = Request.Content.ReadAsMultipartAsync(streamProvider).ContinueWith<IEnumerable>(t => { if (t.IsFaulted || t.IsCanceled) […]

OWIN non può eseguire più app isolate usando webapp.start

Quando provo ad avviare due app su URL diversi, ho problemi con il middleware di routing degli attributi. Se ho due percorsi simili in app separate ma con metodi http diversi, web.api sembra trovare solo uno dei metodi. Microsoft.Owin.Hosting.WebApp.Start(“http://localhost:1000”); Microsoft.Owin.Hosting.WebApp.Start(“http://localhost:1001”); Come posso isolare entrambe le app in modo tale che il routing degli attributi non […]

Qual è il modo migliore per comprimere una richiesta sul sito di asp.net core 2 usando HttpClient?

Sto inviando una richiesta che può essere notevolmente grande (~ 1Mb) e vedo un grande ritardo tra i due quando faccio la richiesta e quando asp.net core registra che sta gestendo la richiesta. Penso di poter ridurre questa volta comprimendo la richiesta di asp usando gzip. Di seguito è il modo abbastanza semplice in cui […]

Come posso impostare un gestore di errori globale in WebApi?

Sto costruendo un’applicazione .NET WebApi e vorrei impostare un gestore di errori globale (fondamentalmente una funzione che viene eseguita quando un’eccezione bolle da qualsiasi punto dell’applicazione). questo collegamento lamenta il supporto per questo, ma sono disponibili diverse soluzioni alternative. Sfortunatamente, non riesco a trovare documentazione utile per nessuno di essi. Ecco i miei requisiti: Le […]

Filtro azione API Web – Controller.TempData equivalente?

Nei miei filtri di azione System.Web.Mvc ho utilizzato in precedenza TempData per archiviare un’istanza del mio servizio unitOfWork in questo modo: public override void OnActionExecuting(ActionExecutingContext filterContext) { filterContext.Controller.TempData[UnitOfWorkRequestKey] = UnitOfWork; UnitOfWork.Begin(); } quindi per eseguire il commit della transazione l’ho ritirato da dati temporanei come questo .. public override void OnActionExecuted(ActionExecutedContext filterContext) { var unitOfWork […]

Posso scrivere un file in una cartella su un computer server da un’app dell’API Web in esecuzione?

Ho questo codice nella mia app Web API per scrivere in un file CSV: private void SaveToCSV(InventoryItem invItem, string dbContext) { string csvHeader = “id,pack_size,description,vendor_id,department,subdepartment,unit_cost,unit_list,open_qty,UPC_code,UPC_pack_size,vendor_item,crv_id”; int dbContextAsInt = 0; int.TryParse(dbContext, out dbContextAsInt); string csvFilename = string.Format(“Platypus{0}.csv”, dbContextAsInt); string csv = string.Format(“{0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11},{12}”, invItem.ID, invItem.pksize, invItem.Description, invItem.vendor_id, invItem.dept, invItem.subdept, invItem.UnitCost, invItem.UnitList, invItem.OpenQty, invItem.UPC, invItem.upc_pack_size, invItem.vendor_item, invItem.crv_id); string […]