Voglio provare la differenza tra ServiceStack Web e la webAPI integrata di Microsoft, e vedere quali vantaggi ci sono, quindi prova a costruire oggi stesso un'applicazione ServiceStack Web Service
1: Creare un nuovo progetto web vuoto .NET 4.5, e poi usare il comando nuget per installare ServiceStack:
.NET deve essere maggiore o uguale alla versione 4.5, il progetto 4.0 non sarà installato con successo! Come mostrato nella figura sottostante.
2: Creare un nuovo modello e una nuova cartella di servizio
Crea un'entità richiesta e risposta con il seguente codice:
3: Creare un'interfaccia di servizio nella cartella di servizio
4: Creare una nuova classe applicativa globale chiamata Global.asax per questo progetto, e il codice è il seguente:
5: Modifica la configurazione web.config, aggiungi un nuovo nodo system.webServer e la configurazione completa è la seguente:
Finora il nostro servizio è stato completato, l'esecuzione del programma può vedere l'interfaccia come segue,GetAllUserInfoRequest e GetByAgeUserInfoRequest possono essere intesi come metodi di chiamata realiI parametri definiti in essa possono essere interpretati come i parametri di richiesta del metodo, come mostrato nella figura sottostante:
I metodi di servizio in ServiceStack sono chiamati Any, Get e Post, che sono anch'essi tipi di richiesta supportati da ServiceStack.Qualsiasi significa che il servizio può essere chiamato sia in HTTP Get che in HTTP Post。 Questo rafforza e semplifica l'implementazione di servizi web in stile RESTFull. Basta aggiungere affetto [Route(...)] a questi metodi Attributi. In ServiceStack,La differenza tra metodi e metodi si distingue dai parametri del servizio e dell'oggetto richiesta Request DTO, invece di differenziare per nome di metodo come in WCF. Questo significaUn oggetto DTO di richiesta non può essere riutilizzato tra più Servizi in ServiceStack。
Aggiungendo il parametro format dopo il parametro get request, si può restituire il tipo di risposta, come: format=json, format=xml, ecc., e sembra che anche il formato jsonp sia supportato.
Per esempio: http://localhost:52079//json/reply/GetAllUserInfoRequest?format=xml
In sintesi, rispetto all'API web di Microsoft, ServiceStack sembra non avere il concetto di metodo nel web, è un'entità di richiesta diversa che è un metodo, può generare automaticamente documenti di interfaccia e il formato della risposta può essere restituito tramite il formato (anche se quello di Microsoft è possibile, ma sembra più semplice di Microsoft)
Riferimento: https://www.cnblogs.com/woxpp/p/5012947.html
https://msdn.microsoft.com/zh-cn/magazine/dn342871.aspx
https://github.com/ServiceStack/ServiceStack/wiki
Infine, allega il codice sorgente del progetto!
Turisti, se volete vedere il contenuto nascosto di questo post, vi prego Risposta
|