ASP.NET Web API to platforma do tworzenia usług HTTP dla klientów, takich jak przeglądarki i urządzenia przenośne. Opiera się na platformie Microsoft .NET Framework i jest idealnym wyborem do tworzenia usług REST.
Kilka miesięcy temu Microsoft zdecydował się zmienić klasę HttpResponseMessage. Wcześniej można było po prostu przekazać typ danych do konstruktora, a następnie zwrócić komunikat z tymi danymi, ale już nie. Teraz musisz użyć właściwości Content, aby ustawić treść wiadomości. Problem polega na tym, że jest to typ HttpContent i nie mogę …
tło Opracowuję warstwę usług API dla klienta i poproszono mnie o globalne wyłapywanie i rejestrowanie wszystkich błędów. Tak więc, chociaż coś takiego jak nieznany punkt końcowy (lub akcja) można łatwo obsłużyć za pomocą ELMAH lub dodając coś takiego do Global.asax: protected void Application_Error() { Exception unhandledException = Server.GetLastError(); //do more …
Jak mogę utworzyć przy użyciu C # i HttpClient następujące żądanie POST: Potrzebuję takiego żądania dla mojej usługi WEB API: [ActionName("exist")] [HttpPost] public bool CheckIfUserExist([FromBody] string login) { return _membershipProvider.CheckIfExist(login); }
Używam internetowego interfejsu API MVC 4 i formularzy sieci web asp.net 4.0 do tworzenia reszt API. Działa świetnie: [HttpGet] public HttpResponseMessage Me(string hash) { HttpResponseMessage httpResponseMessage; List<Something> somethings = ... httpResponseMessage = Request.CreateResponse(HttpStatusCode.OK, new { result = true, somethings = somethings }); return httpResponseMessage; } Teraz muszę zapobiec serializacji niektórych …
W zwykłym kontrolerze MVC możemy wyprowadzić plik PDF z rozszerzeniem FileContentResult. public FileContentResult Test(TestViewModel vm) { var stream = new MemoryStream(); //... add content to the stream. return File(stream.GetBuffer(), "application/pdf", "test.pdf"); } Ale jak możemy to zmienić w ApiController? [HttpPost] public IHttpActionResult Test(TestViewModel vm) { //... return Ok(pdfOutput); } Oto, …
Po przejrzeniu artykułu Obsługa wyjątków w ASP.NET Web API jestem trochę zdezorientowany, kiedy zgłosić wyjątek, a kiedy zwrócić odpowiedź na błąd. Zastanawiam się również, czy można zmodyfikować odpowiedź, gdy metoda zwraca model specyficzny dla domeny zamiast HttpResponseMessage... Podsumowując, oto moje pytania, po których następuje kod z numerami przypadków: pytania Pytania …
Pracuję z ASP.NET MVC 4 WebApi i świetnie się bawię, uruchamiając go na moim lokalnym komputerze w IIS Express. Skonfigurowałem IIS Express do obsługi komputerów zdalnych, więc inni w mojej firmie używają mojego komputera jako naszego serwera internetowego. Po uznaniu, że nie jest to optymalne rozwiązanie, zdecydowaliśmy się umieścić WebApi …
W Web API miałem klasę o podobnej budowie: public class SomeController : ApiController { [WebGet(UriTemplate = "{itemSource}/Items")] public SomeValue GetItems(CustomParam parameter) { ... } [WebGet(UriTemplate = "{itemSource}/Items/{parent}")] public SomeValue GetChildItems(CustomParam parameter, SomeObject parent) { ... } } Ponieważ mogliśmy mapować poszczególne metody, bardzo łatwo było uzyskać właściwe żądanie we właściwym …
Mam aplikację internetową (hostowaną w IIS), która komunikuje się z usługą systemu Windows. Usługa systemu Windows korzysta z interfejsu API sieci Web ASP.Net MVC (samodzielnie hostowana), więc można ją komunikować za pośrednictwem protokołu HTTP przy użyciu formatu JSON. Aplikacja internetowa jest skonfigurowana do podszywania się, a idea polega na tym, …
Jaki powinien być HttpClientczas życia klienta WebAPI? Czy lepiej jest mieć jedną instancję HttpClientdla wielu wywołań? Jakie są narzuty związane z tworzeniem i usuwaniem HttpClientżądania na żądanie, jak w przykładzie poniżej (pobrane z http://www.asp.net/web-api/overview/web-api-clients/calling-a-web-api-from- klient sieciowy ): using (var client = new HttpClient()) { client.BaseAddress = new Uri("http://localhost:9000/"); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new …
Pracuję z aplikacją ASP.NET Core. Próbuję wdrożyć uwierzytelnianie oparte na tokenach, ale nie mogę dowiedzieć się, jak używać nowego systemu zabezpieczeń w mojej sprawie. Przejrzałem przykłady, ale niewiele mi pomogły, używają uwierzytelniania plików cookie lub uwierzytelniania zewnętrznego (GitHub, Microsoft, Twitter). Jaki jest mój scenariusz: aplikacja angularjs powinna zażądać adresu /tokenURL …
To projekt WebApi wykorzystujący VS2015. Krok do reprodukcji: Utwórz pusty projekt WebApi Zmień ścieżkę wyjściową kompilacji z „bin \” na „bin \ Debug \” Biegać Wszystko działa idealnie, dopóki nie zmieniłem ścieżki Build Output z „bin \” na „bin \ Debug \”. W rzeczywistości żadna ścieżka wyjściowa inna niż „bin …
Wszystko: Muszę dodać nagłówki http do HttpClient, zanim wyślę żądanie do usługi sieci Web. Jak to zrobić dla indywidualnego żądania (w przeciwieństwie do HttpClient do wszystkich przyszłych żądań)? Nie jestem pewien, czy jest to w ogóle możliwe. var client = new HttpClient(); var task = client.GetAsync("http://www.someURI.com") .ContinueWith((taskwithmsg) => { var …
Używam HttpClientdo wykonywania wywołań WebApi przy użyciu języka C #. Wydaje się schludny i szybki w porównaniu do WebClient. Jednak utknąłem podczas wykonywania Httpspołączeń. Jak mogę zrobić poniższy kod, aby wykonywać Httpspołączenia? HttpClient httpClient = new HttpClient(); httpClient.BaseAddress = new Uri("https://foobar.com/"); httpClient.DefaultRequestHeaders.Accept.Clear(); httpClient.DefaultRequestHeaders.Accept.Add( new MediaTypeWithQualityHeaderValue("application/xml")); var task = httpClient.PostAsXmlAsync<DeviceRequest>( "api/SaveData", …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.