IHttpActionResult(webAPI 2.0) instead of HttpResponseMessag
Hi all, I hope everyone is fine, me too. I am being amazed day by day by seeing new features and improvements to MVC from Microsoft. If you have had hands-on experience with MVC and the Web API then you are very familiar with HTTP response
Hi all, I hope everyone is fine, me too. I am being amazed day by day by seeing new features and improvements to MVC from Microsoft. If you have had hands-on experience with MVC and the Web API then you are very familiar with HTTP responses from the Web API.
If we remember the HTTP response creation of Web API 1.0 we used to use write 3 to 4 lines of code to create one full fledge HTTP response by setting the status code and media type with an appropriate message. The style is something like this.
- var response = new HttpResponseMessage(HttpStatusCode.Unauthorized);
-
var tsc = new TaskCompletionSource
(); - tsc.SetResult(response);
- return tsc.Task;
Fine and simple but it is simpler in the Web API 2. We can create the same kind of response with a single line of code.
Here you will see how the ASP.NET Web API converts the return value from a controller into an HTTP response message.
Please note that the feature is available in Web API 2.0, so please ensure that your application is updated to 2.0 versions before trying the following code. We know that a Web API controller action can return any one of the following.
- Void
- HttpResponseMessage
- IHttpActionResult (new in Web API 2.0)
- Some other data type
Now in today's article we will see the third point with an example. To use IHttpResult in your application, you must include “System.WebHttp” and provide a reference of the “system.Web.Http” assembly.
The interface IHttpActionResult contains one any only one method called “ExecuteAsync”. Here is the definition of the interface:
- public interface IHttpActionResult
- {
-
Task
ExecuteAsync(CancellationToken cancellationToken); - }
- public class personController : ApiController
- {
- public IHttpActionResult Get()
- {
- return Ok();
- }
- }
So, when we are returning Ok from a controller/action then the Web API runtime engine is transfers the Ok to a full fledge response message by setting the status code 200 with it. Let's see how it works practically. We will call the action from the client and we will check whether or not it returns an Ok response message. Here is the output from Fiddler.
And we are seeing that the status code is 200 and type is OK. So, now just think how simple it is to create a HTTP response from Web API 2.0.
Ok, you may think, how to embed some value with the HTTP response message? Fine, the next example is for you.
- public class personController : ApiController
- {
- public IHttpActionResult Get()
- {
- return Okstring> ("I am send by HTTP resonse");
- }
- }
Please look that, the response string is coming as a body of HTTP response. Not only string, we can send any complex type of custom data type as a body of the HTTP response message. In the next example we will try to send a list of strings in the body of the
response message with an Ok status. Here is our modified code.
- public IHttpActionResult Get()
- {
- Liststring> names = new Liststring> {
- "Sourav",
- "Ram"
- };
-
return Ok
- string>> (names);
- }
Fine, so we have seen how easy it is to create an Ok HTTP response message in the Web API, just by a single line of code. Not only an Ok message, but we can also return any type of valid HTTP response, let's see a few of them.
Not Found
- public IHttpActionResult Get()
- {
- return NotFound();
- }

Bad Request
- public IHttpActionResult Get()
- {
- return BadRequest();
- }

Unauthorized
In the same way, we can return an unauthorized status code, here is sample code.
- public IHttpActionResult Get()
- {
- return Unauthorized();
- }

Created
The status code for the Created status is 201 and generally the status is returned when the Post() operation is performed successfully. Created takes two parameters, one is the “uri” and the other is content.

Conclusion
In this article we have discussed how to send a HTTP response message with a minimal amount of code. I Hope you have understood this and like it. Happy learning.
http://stackoverflow.com/questions/20903420/how-to-call-asp-net-mvc-webapi-2-method-properly

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Apakah kad grafik yang baik untuk Core i73770 ialah kad grafik yang sangat berkuasa dengan prestasi cemerlang dan teknologi canggih. Sama ada anda bermain permainan, memaparkan grafik atau melakukan pembelajaran mesin, RTX3070 boleh mengendalikannya dengan mudah. Ia menggunakan seni bina Ampere NVIDIA, mempunyai teras CUDA 5888 dan memori GDDR6 8GB, yang boleh memberikan pengalaman permainan yang lancar dan kesan grafik berkualiti tinggi. RTX3070 juga menyokong teknologi pengesanan sinar, yang boleh memberikan kesan cahaya dan bayang yang realistik. Secara keseluruhannya, RTX3070 ialah kad grafik yang berkuasa dan canggih yang sesuai untuk mereka yang mengejar prestasi tinggi dan kualiti tinggi. RTX3070 ialah kad grafik siri NVIDIA. Menggunakan NVID generasi ke-2

Seperti yang kita semua tahu, terdapat sekatan peranti pada pemasangan win11, dan sekatan seperti permulaan uefi ditetapkan pada CPU Jadi bolehkah generasi i7 yang paling awal memasang win11, sebenarnya, secara teorinya mungkin, tetapi pemasangan tidak disyorkan. Bolehkah generasi i7 dipasang dengan win11: Jawapan: Generasi i7 boleh dipasang dengan win11, tetapi jika konfigurasi terlalu rendah, ia akan membeku, jadi tidak disyorkan untuk memasang win11 1. Win11 mengehadkan CPU terutamanya disebabkan oleh keperluan untuk permulaan uefi dan isu tpm2.0. 2. Tetapi ini hanya akan menyekat kami daripada menerima tolak kemas kini dalam sistem seperti biasa, dan tidak akan menyekat sistem PE. 3. Jadi kita hanya perlu menggunakan pemacu kilat USB untuk memuat turun win11 dan memasang win11 dalam pe. 4. Walau bagaimanapun, apabila menjalankan win11,

1. Pengenalan Memandangkan projek dipisahkan dari bahagian hadapan dan hujung belakang, antara muka api dan hujung hadapan web digunakan di tapak yang berbeza, jadi dalam artikel sebelumnya, penyelesaian permintaan merentas domain webapiajax (pelaksanaan cors) menggunakan domain silang pemprosesan dan bukannya jsonp. Tetapi selepas satu tempoh masa, saya menemui masalah yang sangat pelik Setiap kali bahagian hadapan memulakan permintaan, melalui alat pembangun penyemak imbas, saya dapat melihat bahawa terdapat dua permintaan untuk URL yang sama di bawah rangkaian permintaan ialah pilihan, kaedah permintaan kedua ialah perolehan atau pos sebenar, dan permintaan pertama tidak mengembalikan data, dan permintaan kedua mengembalikan data biasa. 2. Sebab untuk pilihan pertama

Jika pemproses komputer kami ialah pemproses i5, dan kami ingin memasang semula sistem komputer, editor berpendapat bahawa kami harus membuat pertimbangan yang relevan berdasarkan keperluan konfigurasi perkakasan sistem Adakah lebih baik memasang sistem win7 atau win10 pada i5? Hanya yang sesuai dengan anda dari segi konfigurasi perkakasan dan keperluan peribadi adalah yang terbaik. Mari kita lihat apa yang dikatakan oleh editor untuk butirannya~ Saya harap ia dapat membantu anda. Adakah lebih baik memasang sistem win7 atau win10 pada i5 Jawapan: Lebih baik memasang sistem win10 pada pemproses i5 sekarang? 1. Setakat sistem win7 dan win10 kini digunakan oleh kebanyakan pengguna, sebenarnya, keperluan konfigurasi kedua-dua sistem adalah serupa. 2. Oleh itu, dari segi prestasi, kelancaran dan kebolehgunaan, sistem win10 adalah lebih baik daripada win7

Menurut berita pada 6 September, Intel akan melancarkan siri pemproses Raptor Lake Refresh generasi baharu bulan ini. Berita terkini menunjukkan bahawa model perdana siri ini, Core i9-14900K, berprestasi cemerlang dalam ujian teras tunggal Geekbench6.1.0, mencapai skor 3121. Berbanding dengan generasi sebelumnya 13900K, keputusan ini telah meningkat sebanyak kira-kira 6%. Dari segi prestasi berbilang teras, walaupun ia sedikit lebih rendah daripada generasi sebelumnya, ia juga menunjukkan potensi pengkomputeran yang kukuh. Mengikut pemahaman editor, prestasi pemproses Core i9-14900K mendapat manfaat daripada reka bentuk inovatifnya. Pemproses menggunakan 8 teras P dan 16 teras E, memanfaatkan sepenuhnya seni bina berbilang teras. Perlu dinyatakan bahawa pemproses ini juga memperkenalkan Th

i33240 ialah pemproses Intel yang sangat klasik Pada asasnya, model komputer lama masih menggunakan pemproses ini. Oleh itu, sekarang apabila win11 akan dilancarkan, pengguna peranti lama ini tidak tahu sama ada komputer mereka boleh memasang sistem win11 Secara umumnya, ia boleh dilihat bersama. Bolehkah win11 dipasang pada i33240 Jawapan: Win11 boleh dipasang pada i33240, tetapi ia mesti dipasang dalam pe. 1. Walaupun Microsoft sebelum ini telah menyatakan bahawa hanya pemproses Intel generasi kelapan dan ke atas boleh memasang sistem win11. 2. Tetapi sebenarnya, keperluan ini hanyalah pengesanan sistem oleh Microsoft, dan ia tidak akan menjejaskan penggunaan biasa selepas pemasangan. 3. Jadi selagi kita boleh melangkau pengesanan sistem, kita boleh gunakan

Linux ialah sistem pengendalian yang berkuasa dengan banyak arahan dan petua berguna untuk membantu anda menggunakannya dengan lebih cekap. 1. Semak nilai semakan fail Semasa penyalinan atau proses penghantaran, fail mungkin rosak atau diubah suai Dalam kes ini, nilai semakan boleh digunakan untuk pengesahan. Biasanya, kami perlu menggunakan beberapa program antara muka yang disediakan oleh pasukan lain dalam kerja kami. Setiap kali keputusan berjalan program ini tidak seperti yang diharapkan, kami akan membandingkan nilai semakan md5 kedua-dua pihak untuk mengesahkan ketekalan data. Terdapat banyak cara untuk menjana nilai semakan fail yang biasa digunakan termasuk semakan md5sum, semakan crc, semakan jumlah, dll. Perintahnya ialah: fail parameter algoritma md5sumfile_namecksumfile_namesum

1. Pengenalan Memandangkan projek dipisahkan dari bahagian hadapan dan hujung belakang, antara muka api dan hujung hadapan web digunakan di tapak yang berbeza, jadi dalam artikel sebelumnya, penyelesaian permintaan merentas domain webapiajax (pelaksanaan cors) menggunakan domain silang pemprosesan bukannya jsonp. Tetapi selepas satu tempoh masa, saya menemui masalah yang sangat pelik Setiap kali bahagian hadapan memulakan permintaan, melalui alat pembangun penyemak imbas, saya dapat melihat bahawa terdapat dua permintaan untuk URL yang sama di bawah rangkaian permintaan ialah pilihan, kaedah permintaan kedua ialah perolehan atau pos sebenar, dan permintaan pertama tidak mengembalikan data, dan permintaan kedua mengembalikan data biasa. 2. Sebab untuk pilihan pertama
