Langkah-langkah yang perlu saya lakukan adalah:
- Tambahkan referensi ke
System.Web.Http.WebHost
.
- Tambahkan
App_Start\WebApiConfig.cs
(lihat cuplikan kode di bawah).
- Impor namespace
System.Web.Http
di Global.asax.cs
.
- Hubungi
WebApiConfig.Register(GlobalConfiguration.Configuration)
di MvcApplication.Application_Start()
(dalam file Global.asax.cs
), sebelum mendaftar default rute Aplikasi Web sebagai yang lain akan didahulukan.
- Tambahkan pengontrol yang berasal dari
System.Web.Http.ApiController
.
Saya kemudian bisa belajar cukup dari tutorial (ASP.NET Web API Pertama Anda) untuk menentukan pengontrol API saya.
App_Start \ WebApiConfig.cs:
using System.Web.Http;
class WebApiConfig
{
public static void Register(HttpConfiguration configuration)
{
configuration.Routes.MapHttpRoute("API Default", "api/{controller}/{id}",
new { id = RouteParameter.Optional });
}
}
Global.asax.cs:
using System.Web.Http;
...
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
RegisterGlobalFilters(GlobalFilters.Filters);
WebApiConfig.Register(GlobalConfiguration.Configuration);
RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
}
Pembaruan 10.16.2015:
Word memilikinya, paket NuGet Microsoft.AspNet.WebApi harus diinstal untuk bekerja di atas.
System.Net.Http
juga, tetapi selain itu, itu berfungsi seperti pesona!PEMBARUAN 11/22/2013 - ini adalah paket WebApi terbaru:
Jawaban asli (ini adalah paket WebApi yang lebih lama)
Lebih detail .
sumber
Install-Package Microsoft.AspNet.WebApi
sekarang. Lihat nuget.org/packages/Microsoft.AspNet.WebApiUntuk menambahkan WebAPI di proyek MVC 5 saya.
Buka konsol pengelola Paket NuGet dan jalankan
Tambahkan referensi
System.Web.Routing
,System.Web.Net
danSystem.Net.Http
dll jika belum ada di sanaKlik kanan folder pengontrol> tambahkan item baru> web> Tambahkan pengontrol API Web
Web.config akan dimodifikasi sesuai dengan VS
Tambahkan
Application_Start
metode jika belum ada di sanaTambahkan kelas berikut (saya menambahkan dalam file global.asax.cs)
Ubah metode api web yang sesuai
Bangun kembali dan uji
Buat halaman html sederhana
sumber
Segera setelah Anda menambahkan "WebApi Controller" di bawah folder controllers, Visual Studio menangani dependensi secara otomatis;
sumber
Install-Package Microsoft.AspNet.WebApi
2. Tambahkan item baru "Kelas Pengontrol API Web (v2.1)". Hasil: menambahkan pengontrol api tetapi tidak berubahApplication_Start
. Dengan Owin.Anda dapat menginstal dari nuget seperti gambar di bawah ini:
Atau, jalankan baris perintah di bawah ini di Package Manager Console:
sumber
Sebelum Anda mulai menggabungkan proyek MVC dan API Web, saya sarankan untuk membaca tentang kontra dan pro untuk memisahkan ini sebagai proyek yang berbeda. Satu hal yang sangat penting (milik saya) adalah sistem otentikasi, yang sama sekali berbeda.
JIKA Anda perlu menggunakan permintaan terotentikasi pada MVC dan Web API, Anda harus ingat bahwa Web API TETAP (tidak perlu menjaga sesi, permintaan HTTP sederhana, dll.), Tetapi MVC tidak.
Untuk melihat perbedaan implementasi cukup buat 2 proyek berbeda di Visual Studio 2013 dari Templat: satu untuk MVC dan satu untuk Web API (jangan lupa nyalakan "Otentikasi Individu" selama pembuatan). Anda akan melihat banyak perbedaan di AuthencationControllers.
Jadi, waspadalah.
sumber
CATATAN: ini hanyalah singkatan dari jawaban ini di atas
Buka konsol pengelola Paket NuGet dan jalankan
Tambahkan referensi
System.Web.Routing
,System.Web.Net
danSystem.Net.Http
dll jika belum ada di sanaTambahkan kelas berikut
Tambahkan
Application_Start
metode jika belum ada di sana (dalam file global.asax.cs)Klik kanan folder pengontrol> tambahkan item baru> web> Tambahkan pengontrol API Web
sumber
Solusi di atas berfungsi dengan baik. Saya lebih suka memilih opsi Web API sambil memilih templat proyek seperti yang ditunjukkan pada gambar di bawah ini
Catatan: Solusinya bekerja dengan Visual Studio 2013 atau lebih tinggi. Pertanyaan asli ditanyakan pada 2012 dan ini adalah 2016, oleh karena itu menambahkan solusi Visual Studio 2013 atau lebih tinggi.
sumber
Saya memiliki masalah yang sama, solusinya sangat mudah
Klik kanan pada solotion, instal Microsoft.ASP.NET.WebApi dari "Manage Nuget Package for Sulotion"
booming itu saja;)
sumber