Lataa PDF
1) Mikä on Web-sovellusliittymä?
WebAPI on kehys, joka auttaa sinua rakentamaan / kehittämään HTTP-palveluja.
2) Miksi Web-sovellusliittymä vaaditaan? Voiko RESTful-palveluja käyttää WCF: n avulla?
Kyllä, voimme edelleen kehittää RESTful-palveluja WCF: n avulla. On kuitenkin kaksi pääasiallista syytä, jotka saavat käyttäjät käyttämään Web-sovellusliittymää RESTful-palvelujen sijaan.
- Web-sovellusliittymä lisää TDD (Test Data Driven) -lähestymistapaa RESTful-palvelujen kehittämisessä.
- Jos haluamme kehittää RESTful-palveluja WCF: ssä, tarvitset varmasti paljon kokoonpanoasetuksia, URI-malleja, sopimuksia ja päätepisteitä RESTful-palvelujen kehittämiseksi web-sovellusliittymän avulla.
3) Miksi valita Web-sovellusliittymä?
- Sitä käytetään yksinkertaisten, ei-SOAP-pohjaisten HTTP-palveluiden luomiseen
- Se on myös helppo tapa luoda Web-sovellusliittymällä. Mukana WCF REST Services
- Se perustuu HTTP: hen ja on helppo määritellä, paljastaa ja kuluttaa REST-tavalla.
- Se on kevyt arkkitehtuuri ja sopii laitteille, joilla on rajoitettu kaistanleveys, kuten älypuhelimiin.
4) Onko oikein, että ASP.NET Web API on korvannut WCF: n?
Ei ole lainkaan totta, että ASP.NET Web API on korvannut WCF: n. Itse asiassa se on toinen tapa rakentaa ei-SOAP-pohjaisia palveluita, eli tavallinen XML- tai JSON-merkkijono.
5) Mitkä ovat Web-sovellusliittymän edut?
Web-sovellusliittymän edut ovat:
- OData
- Suodattimet
- Sisältöneuvottelut
- Itseisännöivä
- Reititys
- Mallisidokset
6) Mitkä ovat Web-sovellusliittymän tukemat tärkeimmät palautustyypit?
Web-API-ohjaimen toiminto voi palauttaa seuraavat arvot:
- Void - Se palauttaa tyhjän sisällön
- HttpResponseMessage - Se muuntaa vastauksen HTTP-viestiksi.
- IHttpActionResult - kutsuu ExecuteAsynciä sisäisesti luomaan HttpResponseMessage
- Muut tyypit - Voit kirjoittaa sarjoitetun palautusarvon vastausrunkoon
7) Web-sovellusliittymä tukee mitä protokollaa?
Web-sovellus tukee HTTP-protokollaa.
8) Mikä .NET-kehys tukee Web-sovellusliittymää?
NET 4.0 ja uudemmat versiot tukevat web-sovellusliittymää.
9) Web-sovellusliittymä käyttää mitä seuraavista avoimen lähdekoodin kirjastoista JSON-sarjoitukseen?
Web-sovellusliittymä käyttää Json.NET-kirjastoa JSON-sarjoitukseen.
10) Web-sovellusliittymä lähettää oletusarvoisesti HTTP-vastauksen millä seuraavista tilakoodeista kaikki kiinni jääneet poikkeukset?
500 - Sisäinen palvelinvirhe
11) Mikä on "Web-sovellusliittymän" muiden palautustyyppien suurin haitta?
Tämän lähestymistavan suurin haitta on, että et voi palauttaa suoraan virhekoodia, kuten 404-virhe.
12) Kuinka muodostat HtmlResponseMessage?
Seuraavassa on tapa rakentaa niin,
public class TestController : ApiController{public HttpResponseMessage Get(){HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, "value");response.Content = new StringContent("Testing", Encoding.Unicode);response.Headers.CacheControl = new CacheControlHeaderValue(){MaxAge = TimeSpan.FromMinutes(20)};return response;}}
13) Mikä on Web-API-reititys?
Reititys on mallin mukainen kuten MVC: ssä.
Kaikki reitit on rekisteröity Reittitaulukoihin.
Esimerkiksi:
Routes.MapHttpRoute(Name: "ExampleWebAPIRoute",routeTemplate: “api/{controller}/{id}defaults: new { id = RouteParameter.Optional}
14) Mikä on SOAP?
SOAP on XML-viestimuoto, jota käytetään verkkopalveluiden vuorovaikutuksessa. Sen avulla voidaan lähettää viestejä HTTP: n tai JMS: n kautta, mutta muita siirtoprotokollia voidaan käyttää. Se on myös XML-pohjainen viestintäprotokolla tietojen vaihtamiseksi tietokoneiden välillä.
15) Mitä hyötyä on REST: n käytöstä Web-sovellusliittymässä?
REST-toimintoa käytetään vähentämään tiedonsiirtoa asiakkaan ja palvelimen välillä, mikä tekee siitä ihanteellisen sen käyttöön mobiilisovelluksissa. Web-sovellusliittymä tukee myös HTTP-protokollaa. Siksi se palauttaa HTTP-verbien perinteisen tavan kommunikoida.
16) Kuinka voimme käyttää Web-sovellusliittymää ASP.NET-verkkolomakkeen kanssa?
Web-sovellusliittymää voidaan käyttää ASP.NET-verkkolomakkeen kanssa
Se voidaan suorittaa kolmessa yksinkertaisessa vaiheessa:
- Luo Web-API-ohjain,
- Lisää reititystaulukko Global.sax-sovelluksen Application_Start-menetelmään
- Sitten sinun on tehtävä jQuery AJAX Call to Web API -menetelmä ja hankittava tiedot.
17) Kuinka voit rajoittaa pääsyn Web-sovellusliittymään tiettyyn HTTP-verbiin?
Attribuuttien ohjelmoinnilla on tärkeä rooli. On helppo rajoittaa pääsyä ASP.NET Web API -menetelmään, jota kutsutaan tietyllä HTTP-menetelmällä.
18) Voitteko käyttää Web-sovellusliittymää ASP.NET-verkkolomakkeen kanssa?
Kyllä, Web-sovellusliittymää on mahdollista käyttää ASP.Net-verkkolomakkeen kanssa. Koska se on mukana ASP.NET MVC -kehyksessä. Sitä voidaan kuitenkin käyttää ASP.NET-verkkolomakkeen kanssa.
19) Kuinka aliaksen nimi voidaan määrittää ASP.NET Web API -toiminnolle?
Voimme antaa aliaksen nimen Web-sovellusliittymälle samalla tavalla kuin ASP.NET MVC: lle käyttämällä "ActionName" -attribuuttia seuraavasti:
[HttpPost][ActionName("SaveStudentInfo")]public void UpdateStudent(Student aStudent){StudentRepository.AddStudent(aStudent);}
20) Mitä TestApi tarkoittaa?
TestApi on sovellusliittymien apuohjelmakirjasto. Tämän kirjastotesterin avulla kehittäjä voi luoda testaustyökaluja ja automaattisia testejä .NET-sovellukselle tietorakenteen ja algoritmien avulla.
21) Selitätkö poikkeussuodattimet?
Se suoritetaan, kun poikkeuksia ei käsitellä ja heitetään ohjaimen menetelmästä. Poikkeuksen syy voi olla mikä tahansa. Poikkeussuodattimet toteuttavat IExceptionFilter-käyttöliittymän.
22) Kuinka voimme rekisteröidä toiminnon poikkeussuodattimen?
Voimme rekisteröidä toiminnan poikkeussuodattimen seuraavalla koodilla:
[NotImplExceptionFilter]public TestCustomer GetMyTestCustomer(int custid){//write the code}
23) Kuinka voit palauttaa View from ASP.NET Web API -menetelmän?
Ei, emme voi palauttaa näkymää ASP.NET Web API -menetelmästä. Web-sovellusliittymä luo HTTP-palvelut, jotka hahmottavat raakatiedot. Se on kuitenkin mahdollista myös ASP.NET MVC -sovelluksessa.
24) Kuinka rekisteröidään poikkeussuodatin maailmanlaajuisesti?
Poikkeussuodatin voidaan rekisteröidä maailmanlaajuisesti seuraavien koodi-
GlobalConfiguration.Configuration.Filters.Add (uusi
MyTestCustomerStore.NotImplExceptionFilterAttribute ());
25) Selitä mikä on REST ja RESTFUL?
REST edustaa RE-esitystilan siirtämistä; se on täysin uusi näkökohta verkkosovelluksen kirjoittamisessa.
RESTFUL: REST-arkkitehtuurikonsepteja käyttämällä kirjoitettua termiä kutsutaan RESTful-palveluiksi. Se keskittyy järjestelmäresursseihin ja siihen, miten resurssin tila tulisi siirtää HTTP-protokollan kautta.
26) Anna minulle yksi esimerkki Web-API-reitityksestä?
Config.Routes.MapHttpRoute(name: "MyRoute,"//route namerouteTemplate: "api/{controller}/{action}/{id}",//as you can see "API" is at the beginning.defaults: new { id = RouteParameter.Optional });
27) Kuinka voit käsitellä Web-sovellusliittymän virheitä?
Web-sovellusliittymässä on käytettävissä useita luokkia virheiden käsittelemiseksi. Ne ovat HttpError, Poikkeussuodattimet, HttpResponseException ja Poikkeussuodattimien rekisteröinti.
28) Mitä uusia ominaisuuksia ASP.NET Web API 2.0 sisältää?
ASP.NET Web API Framework v2.0: n uusimmat ominaisuudet ovat seuraavat:
- Määritteen reititys
- Alkuperien välinen resurssien jakaminen
- Ulkoinen todennus
- Avaa Web Interface NET
- HttpActionTulos
- Web-sovellusliittymän OData
29) Kuinka voit rajoittaa käyttömenetelmät tiettyihin HTTP-verbeihin Web-sovellusliittymässä?
Attribuuttien (kuten HTTP-verbien) avulla on mahdollista toteuttaa käyttörajoituksia Web-sovellusliittymässä.
On mahdollista määritellä HTTP-verbit määritteeksi pääsyn rajoittamiseksi. Esimerkki:
[HttpPost]public void Method1(Class obj){//logic
30) Kuinka voit siirtää useita monimutkaisia tyyppejä Web-sovellusliittymässä?
Kaksi tapaa siirtää monimutkaiset tyypit Web-sovellusliittymässä -
ArrayList- ja Newtonsoft-taulukon käyttäminen
31) Kirjoitetaanko koodi ArrayListin siirtämiseksi Web-sovellusliittymään?
ArrayList paramList = new ArrayList();Category c = new Category { CategoryId = 1, CategoryName =“MobilePhones”};Product p = new Product { Productcode = 1, Name = “MotoG”, Price = 15500, CategoryID = 1 };paramList.Add(c);paramList.Add(p);
32) Nimeä työkalut tai sovellusliittymä web-apin kehittämiseksi tai testaamiseksi?
REST-sovellusliittymien verkkopalvelujen testaustyökalut sisältävät:
- Jersey-sovellusliittymä
- CFX
- Akseli
- Restlet
33) Mikä on REST?
REST on arkkitehtoninen tyyli. Se on määritellyt ohjeet skaalautuvien palveluiden luomiseen. REST-protokollaa käytetään HTTP-protokollan kanssa sen verbeillä GET, PUT, POST ja DELETE.
34) Kuinka testata Web-sovellusliittymä?
Voimme suorittaa yksikötestin Web-sovellusliittymien työkaluilla, kuten Fiddler.
Tässä on joitain asetuksia, jotka on tehtävä, jos käytät
Fiddler -Luo-välilehti -> Anna pyyntöotsikot -> Anna pyyntörunko ja suorita
35) Kuinka voimme rajoittaa pääsyä menetelmiin, joissa on tietyt HTTP-verbit Web-sovellusliittymässä?
Attribuuttiohjelmointia käytetään laajalti tähän toimintoon. Web-sovellusliittymä sallii myös kutsumenetelmien käytön rajoittamisen tiettyjen HTTP-verbien avulla. On myös mahdollista määritellä HTTP-verbit attribute over method -menetelmäksi.
36) Mitä DelegatingHandler käyttää?
DelegatingHandleria käytetään Web-sovellusliittymässä sanomakäsittelijöiden edustamiseen ennen reititystä.
37) Kuinka voimme rekisteröidä toiminnon poikkeussuodattimen?
Voimme rekisteröidä toiminnan poikkeussuodattimen seuraavalla koodilla
[NotImplExceptionFilter]public TestCust GetMyTestCust (int custno){//write the code}
38) Kerro minulle koodinpätkä, joka näyttää kuinka voimme palauttaa 404 virhettä HttpErrorista?
Koodi 404-virheen palauttamiseksi HttpErrorista
merkkijono viesti = string.Format ("TestCustomer id = {0} ei löydy", asiakastunnus);
return Request.CreateErrorResponse (HttpStatusCode.NotFound, viesti);
39) Selitetäänkö koodinpätkä rekisteröidäksesi ohjaimen poikkeussuodattimet?
[NotImplExceptionFilter]public class TestCustController : Controller{//Your code goes here}
40) Web-sovellusliittymä tukee mitä protokollaa?
Web-sovellus tukee HTTP-protokollaa
41) Mikä seuraavista .NET-kehyksistä tukee Web-sovellusliittymää?
NET 4.0 -versio tukee Web-sovellusliittymää
42) Web-sovellusliittymä käyttää mitä kirjastoa JSON-sarjoitukseen?
Web-sovellusliittymä käyttää Json.NET-kirjastoa JSON-sarjoitukseen.
43) Web-sovellusliittymä lähettää oletusarvoisesti HTTP-vastauksen millä seuraavista tilakoodeista kaikista kiinni jääneistä poikkeuksista?
500 - Sisäinen palvelinvirhe
44) Selitä menetelmä virheiden käsittelemiseksi käyttämällä HttpErroria Web-sovellusliittymässä?
WEB-sovellusliittymässä HttpError käytetään heittämään virhetiedot vastauksen runkoon. "CreateErrorResponse" -menetelmää voidaan käyttää myös tämän kanssa, joka on laajennustapa, joka on määritelty kohdassa "HttpRequestMessageExtension".
45) Kuinka voimme rekisteröidä poikkeussuodattimen maailmanlaajuisesti?
Voimme rekisteröidä poikkeussuodattimen maailmanlaajuisesti seuraavalla koodilla:
GlobalConfiguration.Configuration.Filters.Add (new MyTestCustomerStore.NotImplExceptionFilterAttribute());
46) Kuinka käsitellä virheitä Web-sovellusliittymässä?
Web-sovellusliittymässä on käytettävissä useita luokkia virheiden käsittelemiseksi. Ne ovat HttpError, HttpResponseException, poikkeussuodattimet, poikkeussuodattimien rekisteröinti.
47) Mikä on WebAPI: n etu WCF: ään nähden?
WCF-palvelut käyttävät SOAP-protokollaa, kun taas HTTP ei koskaan käytä SOAP-protokollaa. Siksi WebAPI-palvelut ovat kevyitä, koska SOAPia ei käytetä. Se vähentää myös palvelun jatkamiseen siirrettyä dataa. Lisäksi se ei koskaan tarvitse liikaa kokoonpanoa. Siksi asiakas voi olla vuorovaikutuksessa palvelun kanssa käyttämällä HTTP-verbejä.
48) Valtion erot MVC: n ja WebAPI: n välillä
MVC-kehystä käytetään sovellusten kehittämiseen, joilla on käyttöliittymä. Tätä varten näkymiä voidaan käyttää käyttöliittymän rakentamiseen.
WebAPI: tä käytetään HTTP-palveluiden kehittämiseen. Muita sovelluksia voidaan kutsua myös WebAPI-menetelmiksi tietojen noutamiseksi.
49) Kuka voi käyttää WebAPI: tä?
WebAPI: tä voi käyttää kuka tahansa asiakas, joka tukee HTTP-verbejä, kuten GET, PUT, DELETE, POST. Koska WebAPI-palvelut eivät tarvitse mitään asetuksia, kuka tahansa asiakas voi käyttää niitä helposti. Rikkomattomat, jopa kannettavat laitteet, kuten mobiililaitteet, voivat helposti kuluttaa WebAPI: tä, mikä on varmasti tämän tekniikan suurin etu.
50) Kuinka voimme varmistaa, että Web-sovellusliittymä palauttaa vain JSON-tiedot?
Jotta Web-sovellusliittymä sarjataan palaava objekti JSON-muotoon ja palauttaa vain JSON-tiedot. Siksi sinun on lisättävä seuraava koodi WebApiConfig.cs-luokkaan missä tahansa MVC Web API -projektissa:
//JsonFormatter//MediaTypeHeaderValueConfig.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("application/json"));123//JsonFormatter//MediaTypeHeaderValueConfig.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("application/json"))