50 parasta Asp.Net Web -sovellusliittymän haastattelukysymystä ja vastausta

Anonim

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:

  1. Luo Web-API-ohjain,
  2. Lisää reititystaulukko Global.sax-sovelluksen Application_Start-menetelmään
  3. 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:

  1. Jersey-sovellusliittymä
  2. CFX
  3. Akseli
  4. 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"))