Nous avons créé une solution WebApi utilisant Autofac pour DI. Nous avons décomposé le démarrage de notre autofac dans un projet séparé. De cette façon, notre projet WebApi fait uniquement référence à nos projets Bootstrap et Contracts. Notre projet bootstrap fait ensuite référence à tous les autres assemblages et connecte le tout. J’aime cette conception […]
J’ai un gestionnaire de messages personnalisé que j’ajoute globalement comme suit: public class CustomerHandler : DelegatingHandler { public CustomHandler(HttpConfiguration httpConfiguration) { InnerHandler = new HttpControllerDispatcher(httpConfiguration); } } config.MessageHandlers.Add(new CustomHandler(config)); Cependant, j’obtiens l’erreur suivante: La liste ‘DelegatingHandler’ n’est pas valide car la propriété ‘InnerHandler’ de ‘CustomHandler’ n’est pas nulle. Nom de paramètre: handlers J’ai donc changé […]
J’ai un serveur WebSocket qui accepte un stream de données binarys provenant d’un client et répond avec un autre stream de données texte pour chaque lecture de 4 Mo. Le serveur utilise IIS 8 et l’API Web asp.net . Serveur public class WebSocketController : ApiController { public HttpResponseMessage Get() { if (!HttpContext.Current.IsWebSocketRequest) { return new […]
Je vais fournir l’authentification par empreinte digitale côté serveur via WebAPI. Le code ci-dessous est la partie comparaison d’empreintes digitales. var allFingerprints = container.Fingerprints.OrderByDescending(p=>p.FingerprintID); List fmdList = new List(); foreach (var fp in allFingerprints) { fmdList.Add(Fmd.DeserializeXml(fp.FMD)); } IdentifyResult identifyResult = Comparison.Identify(customerFmd, 0, fmdList, thresholdScore, 2); Si la petite quantité (<3 000) d’empreintes digitales se trouve […]
J’ai le code suivant GlobalConfiguration.Configuration.Formatters.XmlFormatter.SupportedMediaTypes.Clear(); config.Formatters.JsonFormatter.MediaTypeMappings.Add( new UriPathExtensionMapping(“json”, “application/json”)); config.Formatters.XmlFormatter.MediaTypeMappings.Add( new UriPathExtensionMapping(“xml”, “application/xml”)); Maintenant, je veux que si quelqu’un ne fournit pas d’extension dans api comme http://apuUrl/getBooks il devrait renvoyer par défaut la valeur JSON. Mes scénarios suivants fonctionnent bien: http://apuUrl/getBooks.json -> retourne JSON http://apuUrl/getBooks.xml -> renvoie XML Remarque: je ne souhaite pas créer de […]
J’ai un projet API Web Asp.net qui a plusieurs méthodes CRUD. En plus de ces méthodes, je souhaite append un service d’autorisation qui lit l’en-tête d’ Authorization et empêche les utilisateurs d’accéder aux ressources (s’ils ne sont pas autorisés). // Method on internal IP Project public class InternalController : ApiController { public void Create(CreateRequest request) […]
J’ai ce qui devrait être un scénario TRÈS basique … que je crois avoir déjà fait 100 fois, mais pour quelque raison que ce soit, il a décidé de ne PAS travailler et de perdre mon temps en une chose banale … J’utilise WebAPI avec des itinéraires d’atsortingbuts (je les aime). J’essaie de transmettre deux […]
Dans mon service Stateful, je peux écrire à ServiceEventSource en appelant ceci: ServiceEventSource.Current.ServiceMessage(this.Context, “this is my log message”); Est-ce que quelqu’un sait comment je peux passer le même appel dans mon contrôleur WebAPI sans état? Il semble que je ne puisse pas entrer le contexte dans le contrôleur. J’ai remarqué qu’il est uniquement disponible dans […]
Je suis nouveau dans SimpleInjector et je travaille avec des exemples utilisant WebAPI. J’ai utilisé le SimpleInjector.Integration.WebApi.WebHost.QuickStart nu-get SimpleInjector.Integration.WebApi.WebHost.QuickStart , puis j’ai enregistré un type simple pour mes tests, comme SimpleInjector.Integration.WebApi.WebHost.QuickStart : container.RegisterWebApiRequest(); À l’intérieur d’une méthode ApiController, je peux demander une instance. Jusqu’ici tout va bien. Je voulais étendre mon test à plus tôt […]
Je crée une API Web 2 en utilisant OData v4 pour fournir les verbes HTTP suivants pour mes modèles: GET , POST et PUT , ce qui signifie que pour chaque ressource (classe de modèle), je peux insérer / mettre à jour / récupérer des données à partir des URL suivantes: / api / myResourceName […]