Membangun Contoh Windows Communication Foundation
Sampel Windows Communication Foundation (WCF) dapat dibuat menggunakan ide Visual Studio atau perintah msbuild dari baris perintah. Kedua metode tersebut dijelaskan dalam artikel ini.
Catatan
Sebelum membangun atau menjalankan salah satu sampel WCF, pastikan Anda telah melakukan Prosedur Penyiapan Satu Kali untuk Sampel Windows Communication Foundation.
Untuk membangun sampel menggunakan prompt perintah
Buka Perintah Pengembang untuk Visual Studio dan navigasikan ke subdirektori khusus bahasa di bawah lokasi direktori tempat Anda menginstal sampel.
Ketik
msbuild
di baris perintah. File program klien dibangun ke klien\bin dan file program layanan dibangun ke layanan\bin. Jika layanan dihosting oleh Layanan Informasi Internet (IIS), file program layanan juga disalin ke direktori servicemodelsamples dan subdirektori \bin-nya.
Catatan
Anda harus mengatur ACL pada %systemdrive%\inetpub\wwwroot untuk memberikan izin modifikasi ke akun yang Anda jalankan. Jika tidak, beberapa peristiwa build pasca gagal. Atau, Anda dapat meninggalkan ACL apa adanya dan menjalankan prompt perintah SDK sebagai administrator.
Untuk membangun sampel menggunakan Visual Studio
Dari menu File di Visual Studio, pilih Buka>Project/Solusi. Navigasi ke subdirektori khusus bahasa di bawah direktori tempat Anda menginstal sampel, dan klik dua kali ikon file .sln untuk membuka solusi di Visual Studio.
Dari menu Build, pilih Rebuild Solution.
File program klien dibangun ke klien\bin dan file program layanan dibangun ke layanan\bin. Jika layanan dihosting di IIS, file program layanan juga disalin ke direktori servicemodelsamples dan subdirektori \bin-nya.
Catatan
Anda harus mengatur ACL pada %systemdrive%\inetpub\wwwroot untuk memberikan izin modifikasi ke akun yang Anda jalankan. Jika tidak, beberapa peristiwa build pasca gagal. Atau, Anda dapat membiarkan ACL apa adanya dan menjalankan perintah SDK atau Visual Studio sebagai administrator. Beberapa tindakan Visual Studio (seperti melampirkan debugger ke proses pekerja ASP.NET) juga memerlukan hak istimewa administratif.
Menyiapkan File dan Skrip Batch
Setup.exe dan Cleanup.exe file batch dan skrip harus dijalankan dari Prompt Perintah Pengembang untuk Visual Studio. Beberapa file penyiapan dan pembersihan melakukan tugas yang memerlukan hak administratif dan harus diluncurkan dengan hak istimewa administrator.
Informasi Keamanan Penting tentang Titik Akhir Metadata
Untuk mencegah pengungkapan metadata layanan yang berpotensi sensitif secara tidak disengaja, konfigurasi default untuk layanan Windows Communication Foundation (WCF) menonaktifkan penerbitan metadata. Perilaku ini aman secara default, tetapi juga berarti Anda tidak dapat menggunakan alat impor metadata (seperti Svcutil.exe) untuk menghasilkan kode klien yang diperlukan untuk memanggil layanan kecuali perilaku penerbitan metadata layanan diaktifkan secara eksplisit dalam konfigurasi. Untuk mempermudah bereksperimen dengan sampel, hampir semua sampel mengekspos titik akhir penerbitan metadata yang tidak aman. Titik akhir tersebut berpotensi tersedia untuk konsumen anonim yang tidak diautentikasi dan perawatan harus diambil sebelum menyebarkan titik akhir tersebut untuk memastikan bahwa pengungkapan metadata layanan secara publik sesuai. Untuk informasi selengkapnya tentang metadata layanan penerbitan, lihat sampel Perilaku Penerbitan Metadata. Lihat sampel Titik Akhir Metadata Aman Kustom untuk sampel yang mengamankan titik akhir metadata.
Penanganan Pengecualian
Secara umum, sampel ini tidak menyertakan penanganan pengecualian untuk menjaga kode tetap berfokus pada subjek sampel. Untuk informasi selengkapnya tentang penanganan pengecualian, lihat sampel Pengecualian yang Diharapkan.
Meregenerasi Klien dan Konfigurasi dengan Svcutil
Anda dapat menggunakan Alat Utilitas Metadata ServiceModel (Svcutil.exe) untuk meregenerasi kode dan konfigurasi klien untuk sebagian besar sampel. Beberapa sampel memerlukan konfigurasi yang diedit secara manual. Misalnya, jika Anda menggunakan Svcutil.exe untuk meregenerasi konfigurasi untuk sampel yang menggunakan kredensial sertifikat klien, Anda harus menentukan kredensial yang sebelumnya dikonfigurasi secara manual. Beberapa sampel menggunakan opsi Svcutil.exe tertentu untuk memengaruhi kode yang dihasilkan, opsi ini ditentukan dalam topik sampel tertentu.
Untuk meregenerasi file klien dan konfigurasi
Buka prompt perintah SDK dan navigasikan ke subdirektori khusus bahasa di bawah lokasi direktori tempat Anda menginstal sampel.
Jika layanan adalah jenis yang dihosting Web, gunakan perintah berikut.
svcutil.exe /n:"http://Microsoft.ServiceModel.Samples,Microsoft.ServiceModel.Samples" http://localhost/servicemodelsamples/service.svc/mex /out:generatedClient.cs
Jika layanan adalah jenis yang dihost sendiri, ketik perintah berikut.
svcutil.exe /n:"http://Microsoft.ServiceModel.Samples,Microsoft.ServiceModel.Samples" http://localhost:8000/servicemodelsamples/service.svc/mex /out:generatedClient.cs
Ganti
http://localhost:8000/ServiceModelSamples/service.svc/mex
dengan alamat titik akhir mex layanan yang dihost sendiri.Untuk menghasilkan klien dalam jenis Visual Basic, gunakan perintah berikut.
svcutil.exe /n:"http://Microsoft.ServiceModel.Samples,Microsoft.ServiceModel.Samples" http://localhost/servicemodelsamples/service.svc/mex /l:vb /out:generatedClient.vb
Jika layanan adalah jenis yang dihost sendiri, gunakan perintah berikut.
svcutil.exe /n:"http://Microsoft.ServiceModel.Samples,Microsoft.ServiceModel.Samples" http://localhost:8000/servicemodelsamples/service.svc/mex /l:vb /out:generatedClient.vb
Catatan
Untuk melewati pembuatan konfigurasi klien, tambahkan opsi /noConfig.