Pytania otagowane jako asp.net-web-api

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.

8
Umieścić zawartość w obiekcie HttpResponseMessage?
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ę …

5
Jak globalnie rejestrować wszystkie wyjątki dla aplikacji C # MVC4 WebAPI?
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 …


11
zapobiec serializacji właściwości w internetowym interfejsie API
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 …

6
Jak zwrócić plik (FileContentResult) w ASP.NET WebAPI
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, …

9
Wyrzucić HttpResponseException lub zwrócić Request.CreateErrorResponse?
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 …

9
WebApi {„komunikat”: „wystąpił błąd”} w usługach IIS7, a nie w IIS Express
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 …

16
Pojedynczy kontroler z wieloma metodami GET w ASP.NET Web API
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 …

7
Jak sprawić, by HttpClient przekazał poświadczenia wraz z żądaniem?
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, …

7
Jakie są narzuty związane z tworzeniem nowego HttpClient na wywołanie w kliencie WebAPI?
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 …

4
Uwierzytelnianie oparte na tokenach w ASP.NET Core
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 …

30
Nie można zlokalizować typu dostawcy CodeDom „Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider”
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 …

3
Dodawanie nagłówków HTTP do HttpClient
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 …


13
Wykonaj wywołanie HTTPS przy użyciu HttpClient
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", …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.