ASP.NET 5 Hosting – Menjalankan ASP.NET 5 pada website IIS

Sejak adanya  ASP.NET 5 hit RC1 sekitar November lalu , semakin banyak orang yang melihat menggunakan aplikasi ini.Berjalan sebagai aplikasi sekedar sebagai demo atau percobaan. Pastinya kita pikiran kita akan mengarah pada hosting disuatu tempat dan itu adalah IIS. Saya baru-baru ini telah melalui beberapa kesulitan mendapatkan itu semua untuk bekerja, jadi saya pikir mungkin hal ini berguna untuk dokumen dan menyoroti beberapa langkah, yang diharapkan akan menghemat sedikit waktu Anda.

Menyesuaikan aplikasi

Agar dapat berjalan di IIS, aplikasi Anda perlu menyertakan Microsoft.AspNet.IISPlatformHandler paket. Saat ini versi  1.0.0-rc1-final   yang harus tersedia dan ditambahkan sebagai  syarat untuk project.json Anda.

Kemudian anda harus menambahkan platform handler middleware dengan metode Configure pada Startup class:

Jika anda menggunakan versi terbaru Template ASP.NET 5  (RC1). Maka ASP.NET 5 Web Application template,  maka ASP.NET 5 Web Application template sudah ada.Yang sebagai  referensi paket Microsoft.AspNet.IISPlatformHandler dan bahkan memiliki garis di atas kode di kelas Startup secara default.

Menampilkan Aplikasi

Pertama-tama Anda perlu untuk menerbitkan aplikasi Anda. Jika Anda benar-benar sekolah tua, Anda mungkin ingin melakukannya dari Visual Studio dan klasik “Publikasikan” dialog, tetapi itu tidak akan melakukan apa-apa magis – semua itu akan lakukan adalah hanya memanggil melalui command line dnu tool.

Pertama dari apa yang anda perlukan untuk menerbitkan aplikasi anda .ka anda benar benar serius , Anda mungkin ingin melakukannya dari  Visual Studio and its classic dengan menerbitkn dialognya. Jadi sebagai gantinya, Anda dapat memanggil dari folder aplikasi web Anda (Anda juga dapat melewati jalur untuk proyek aplikasi web jika Anda ingin memanggil dnu dari mana saja).

Perintah ini akan menerbitkan proyek anda dan menyertakan waktu yang saat ini aktif berjalan . Anda dapat dengan jelas termasuk juga runtime tertentu jika itu merupakan tujuan anda, oleh passign namanya. Dalam menerbitkan perintah ini banyak opsi-opsi lain seperti misalnya menetapkan source inclusion atau out path.

 

Secara default, output path is bin/output dalam folder yang sama seperti aplikasi web anda. Output dapat xcopied ke server seperti itu.

Sumber yang diterbitkan harus memiliki struktur berikut:

Di dalam folder approot akan ada web.cmd file yang dapat digunakan untuk memulai app. Anda juga dapat memulainya dengan sekedar mendapatkan ke wwwroot dan memanggil dnx web. Tentu saja IIS tidak mengetahui apa pun tentang semua ini, maka anda perlu tambahan IIS untuk setelan memahami proses eksternal DNX .

 

Setting IIS

Prasyarat dalam IIS adalah bahwa modul HttpPlatformHandler perlu diinstal (minimal versi 1,2). Komponen ini bukan khas  ASP.NET 5  – ia hanya memungkinkan manajemen proses untuk proses eksternal yang mendengarkan permintaan HTTP dan permintaan mengskalakan ke dalamnya; dalam hal ini akan dnx.exe tetapi mungkin juga ada sesuatu seperti node.exe. Anda dapat menginstal pengendali terbaru menggunakan direct installer  atau WebPI dari IIS situs download di sini.

Setelah anda telah menerbitkan aplikasi ASP.NET 5 , anda dapat melanjutkan untuk menyetel IIS.

Buat aplikasi baru, dan setel .NET CLR versi aplikasi pada ruangan untuk Tidak Ada kode yang dikelola. Kita akan memanggil dnx.exe untuk memulai aplikasi anda, dan bukannya mengandalkan pada proses classic w3wp.

Point website anda ke folder wwwroot dalam menerbitkan output  Lokasi: – atau di mana pun anda menyalinnya. Jika Anda menjalankan application pool dengan menggunakan application pool identity, anda harus pastikan identitasnya bahwa IIS_IUSRS mempunyai akses ke folder penerbitan anda.

wwwroot memiliki web.config di dalam file yang harus pada titik ini terlihat seperti ini:

Anda mungkin ingin menyetel stdoutLogEnabled=”false” untuk segera  mendapatkan kesalahan-kesalahan, biasanya ditulis untuk stdout , dari proses tersembunyi, untuk diarahkan kembali ke file log.

 

Resolving errors

Salah satu kemungkinan yang anda HTTP Error 500.19:

ini karena global config level, system.webServer/handlers yang terkunci. Untuk membukanya, pergi ke IIS Manager pilih server root di  kiri  navigation tree lalu pilih  “Configuration Editor” > type system.webServer/handlers pilih dalam bagian dropdown  dan tekan enter.  Selanjutnya, pilih “unlock section” dari panel.

masalah selanjutnya yang mungkin Anda hadapi adalah bahwa Anda melihat halaman kosong, yang tampaknya loading selamanya. Jika itu yang terjadi periksa folder log di bawah jalan didefinisikan dalam web.config.

besar kemungkinan adalah bahwa perintah dnx tidak dikenali. Alasannya adalah bahwa pengguna digunakan untuk menjalankan proses IIS tidak ada di PATH. Untuk memperbaiki  hal ini, anda dapat melakukan beberapa hal:

  • Ubah aplikasi ruangan ke pengguna  DNX pada PATH (yaitu akun pengguna anda sendiri)
  • Menambahkan environment variables  DNX sebagai variabel sistem

 

  • DNX_halaman utama, harus menunjuk ke folder DNX anda, for me it’s , C:\Users\filip\.dnx
  • DNX_Paket, harus menunjuk ke folder paket DNX anda, for me it’s , C:\Users\filip\.dnx\
  • DNX paket_PATH, harus menunjuk ke file DNVM anda cmd, for me it’s, C:\Users\filip\.dnx\bin\dnvm.cmd

Jika anda memilih pendekatan ini, anda harus memastikan bahwa IIS_IUSRS mempunyai akses ke semua folder . Catatan bahwa pada IIS 10 anda juga dapat mengatur environment variables  khusus untuk application pool.

Daripada menggunakan …\approot\web.cmd untuk memulai aplikasi anda, anda juga dapat menggunakan hardcode  path  untuk dnx dalam atribut processPath dari httpPlatform di web.config. Jika anda melakukannya, anda juga perlu menambahkan  web argument  dalam  arguments attribute.

 

Akhirnya, mungkin ada beberapa masalah lain tidak disebutkan di sini, bahwa anda dapat mengenali melalui file log. Misalnya, mungkin anda disediakan sebuah jalur khusus ke dnx.exe tetapi tidak disediakan arguments (“web”). Tipe kesalahan ini hanya akan muncul dalam log karena penggunaan yang membantu untuk dnx.

Secara keseluruhan, saya mencoba proses ini pada IIS 7.5, IIS 8 dan IIS 10 – dan pada akhirnya ia berhasil semua.

 


 

jarhost-banner-new1Alasan Memilih Kami Sebagai Partner ASP.NET Hosting Anda!

centang Server dan Network yang Handal

centang Control Panel yang User-Friendly

centang Pengalaman di bidang ASP.NET hosting, terutama  Windows Hosting selama bertahun-tahun

centang Teknologi ASP.NET Hosting paling mutakhir

centang Standar security yang amat tinggi

JaringanHosting.com adalah provider ASP.NET dan Windows hosting No #1 di Indonesia. Web Hosting kami mendapatkan Microsoft Spotlight Award dari Microsoft dan ini berdasarkan pada beberapa persyaratan utama, yaitu: WebMatrix, WebDeploy, Visual Studio 2015, ASP.NET 4.6, ASP.NET MVC 6, Silverlight 5 and Visual Studio Lightswitch.