Articles of asp.net web api

Pubblica un array di stringhe sul metodo dell’API web

questa è la mia chiamata ajax dal lato client: var list = [“a”, “b”, “c”, “d”]; var jsonText = { data: list }; $.ajax({ type: “POST”, url: “/api/scheduledItemPriceStatus/updateStatusToDelete”, data: jsonText, dataType: “json”, traditional: true, success: function() { alert(“it worked!”); }, failure: function() { alert(“not working…”); } }); questa è l’intestazione di rete di Chrome: Request […]

Come impostare Json.NET ContractSerializer per un determinato tipo specifico anziché globale?

Voglio impostare un serializzatore di contratto solo per determinati tipi nella mia applicazione API Web ASP.NET. Posso impostare le impostazioni globalmente in App_Start / FormatterConfig.cs in questo modo: public static void RegisterGlobalFormatters(MediaTypeFormatterCollection formatters) { jsonSerializerSettings.ContractResolver = new CriteriaContractResolver(new List(new string[]{“mdData”, “name”, “label”})); … ma come posso applicare questo a uno o più tipi di classi […]

API Web abilitata per CORS non riesce ad aggiungere intestazione

Sto usando DynamicPolicyProviderFactory come descritto qui . Di seguito è la mia versione di DynamicPolicyProviderFactory: public class DynamicPolicyProviderFactory : ICorsPolicyProviderFactory { private readonly HashSet _allowed; public DynamicPolicyProviderFactory(IEnumerable allowedOrigins) { _allowed = new HashSet(); foreach (string pattern in allowedOrigins.Cast() .Select(Regex.Escape) .Select(pattern => pattern.Replace(“*”, “w*”))) { _allowed.Add(new Regex(pattern, RegexOptions.IgnoreCase)); } if (_allowed.Count >= 1) return; //if nothing […]

Codifica Email per passare a Web.API

Ho bisogno di inviare un indirizzo email a un metodo Web.Api get . Devo controllare se l’indirizzo e-mail esiste nel nostro sistema prima di consentire a qualcuno di registrarsi per un nuovo account. Il mio primo pensiero è stato quello di encode l’indirizzo e-mail e decode una volta all’interno dell’azione Get L’URL è simile a […]

ASP.NET Web Api: il framework non converte JSON in object quando si utilizza Chunked Transfer Encoding

Ho un client http in Android che invia richieste HTTP PUT a una API REST implementata con C # e framework ASP.NET WebApi. Il framework dovrebbe essere in grado di convertire magicamente (deserializzare) il JSON in una class modello (object semplice) finché i campi JSON corrispondono alle proprietà nella class C #. Il problema arriva […]

Come posso inviare dati JSON arbitrari, con intestazione personalizzata, a un server REST?

TL; DR – Come si invia una stringa JSON a un host REST con un’intestazione auth? Ho provato 3 diversi approcci trovati uno che funziona con tipi anonimi. Perché non posso usare i tipi anonimi? Devo impostare una variabile denominata “Nome gruppo” e un trattino non è un identificatore C # valido. sfondo Ho bisogno […]

Come integrare OAuth2.0 con OData Client Code Generator?

Ho sviluppato un WebApi che implementa OAuth2.0 e OData. Ora sto facendo un client per testare ciò che ho implementato finora. Ho generato i modelli per OData usando il generatore di codice client OData, ma come posso introdurre il token di accesso nella richiesta OData? Qualche idea su come estendere i modelli OData per introdurre […]

WebApi forza l’azione per restituire xml

Ho questa azione: public IHttpActionResult SearchFor(int aboItemType, DTO.FilterColumns filter) { //Do stuff… return Ok(ds); } Il mio cliente fa: client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(“application/xml”)); var response = client.PostAsJsonAsync(myurl).Result; if (response.IsSuccessStatusCode) { var results = HttpUtility.HtmlDecode(response.Content.ReadAsStringAsync().Result); } Lo scenario sopra funziona perfettamente. Tuttavia, se commento la riga Accept, l’azione restituisce il set di dati in formato json. Vorrei forzare […]

Modifica del protocollo di sicurezza per richiesta (HttpClient)

Ho una API Web che deve comunicare con alcuni servizi diversi. Attualmente, ho l’API Web impostata per utilizzare il seguente protocollo di sicurezza: ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; Quando l’API chiama un altro servizio tramite HttpClient (ad esempio, come Twitter), utilizzerà tale protocollo. Allo stesso tempo, tuttavia, potrebbe entrare un’altra richiesta per accedere a qualcosa dal cloud, […]

API Web ModelBinding dall’URI

Quindi ho implementato un Model Binder personalizzato per tipo DateTime e lo registro come di seguito: void Application_Start(object sender, EventArgs e) { // Code that runs on application startup GlobalConfiguration.Configuration.BindParameter(typeof(DateTime), new CurrentCultureDateTimeAPI()); } e quindi ho impostato 2 azioni di esempio per verificare se il binding del modello personalizzato ha luogo: [HttpGet] public void BindDateTime([FromUri]DateTime […]