Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 63675|Jawab: 8

[Inti .NET] ASP.NET Tutorial Core 3.1 Memanggil Layanan WCF .NET 4.0

[Salin tautan]
Diposting pada 19/07/2020 22.18.08 | | | |
Saat mengembangkan proyek baru, menggunakan teknologi inti asp.net, proyek lama mungkin merupakan layanan WCF yang dikembangkan menggunakan .NET Framework 4, karena biaya rekonstruksi terlalu tinggi, perlu menggunakan inti asp.net untuk memanggil antarmuka layanan WCF.

Pertama, buat dua proyek baru:

ASP.NET Proyek Core 3.1: dotnet-core-call-wcf
Proyek .NET Framework 4 (aplikasi layanan WCF): sekolah-wcf-service

Visual Studio 2019 ingin membuat layanan WCF, tidak dapat menemukan templat, solusi:

Pilih Instal alat dan fitur lainnya untuk membuka Visual Studio Installer. Pilih tab Komponen Individual, gulir ke bawah ke Aktivitas Pengembangan, pilih Windows Communication Foundation, dan klik Ubah.


WCF membuat dua antarmuka sebagai berikut:

Kode implementasi antarmuka adalah sebagai berikut:


Kontrak layanan adalah kumpulan operasi layanan terkait, dan ketika kami menerapkan ServiceContractAttribute pada antarmuka, kami memberinya atribut kontrak layanan. Namun, untuk jenis seperti itu, idiomnya tidak secara otomatis menjadi operasi layanan kontrak, dan hanya ketika fitur OperationContractAttribute diterapkan, anggota metode yang sesuai dapat menjadi operasi layanan yang dapat diakses melalui panggilan layanan.

Saat Anda memulai proyek wcf, itu akan secara otomatis menjalankan WcfTestClient dan mencoba memanggilnya seperti yang ditunjukkan pada gambar di bawah ini:



Menggunakan proyek ASP.NET Core untuk memanggil layanan WCF

Klik kanan Layanan Terhubung, pilih layanan yang ingin Anda tambahkan koneksinya, dan pilih layanan WCF, seperti yang ditunjukkan pada gambar berikut:



Alamat layanan yang diisi: http://localhost:3705/Service1.svc

Kemungkinan kesalahan:

WCF:Error:Unable to generate deps.json
https://www.itsvse.com/thread-9288-1-1.html

Karena tidak mungkin menulis alamat layanan WCF sampai mati, tambahkan kode berikut ke file appsettings.json:

Edit file Startup.cs dan daftarkan layanan WCF dengan kode berikut:

Panggil layanan wcf pada pengontrol HomeController, injeksi konstruktor pertama, kodenya adalah sebagai berikut:

Memanggil layanan WCF:

Jalankan situs web asp.net Core, efeknya seperti yang ditunjukkan di bawah ini:



Kami mencoba memodifikasi layanan WCF sehingga antarmuka mengembalikan hasilnya setelah 3 menit, lalu memulai ulang inti asp.net untuk memanggil layanan WCF, dan kesalahannya adalah sebagai berikut:

AggregateException: One or more errors occurred. (The request channel timed out attempting to send after 00:01:00. Increase the timeout value passed to the call to Request or increase the SendTimeout value on the Binding. The time allotted to this operation may have been a portion of a longer timeout.)

Pada saat ini, kita perlu memodifikasi batas waktu default, menyesuaikan pengikatan BasicHttpBinding, dan mengedit ulang file Startup.cs, sebagai berikut:



Unduhan kode sumber:

Wisatawan, jika Anda ingin melihat konten tersembunyi dari posting ini, silakanJawab





Mantan:Bantuan dengan kerusakan registri Windows
Depan:VS 2019 menggunakan alat svcutil.exe untuk menghasilkan file panggilan
Diposting pada 15/09/2020 16.26.41 |
Belajar
Diposting pada 11/05/2021 13.58.38 |
Ada bos kode sumber
Diposting pada 18/06/2021 15.07.44 |
Hanya untuk melihat
Diposting pada 18/06/2021 15.08.38 |
Kode tidak dapat dilihat
Diposting pada 28/06/2021 10.58.22 |
Saya belum bisa mendapatkan hasil apa pun, apa yang terjadi?
Diposting pada 04/07/2021 10.21.09 |
Kembali untuk belajar dari para dewa, terima kasih telah berbagi
Diposting pada 03/08/2022 15.36.10 |
Kebutuhan yang sama, datang dan belajar
Diposting pada 02/12/2022 01.17.10 |
Belajar dari para dewa
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com