Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Untuk mengonfigurasi titik akhir layanan WCF agar dapat dioperasikan dengan klien layanan web ASP.NET:
Gunakan jenis System.ServiceModel.BasicHttpBinding sebagai jenis pengikatan untuk titik akhir layanan Anda.
Jangan gunakan fitur panggilan balik dan kontrak sesi atau perilaku transaksi di titik akhir layanan Anda
Anda dapat secara opsional mengaktifkan dukungan untuk HTTPS dan autentikasi klien tingkat transportasi pada pengikatan.
Fitur BasicHttpBinding kelas berikut memerlukan fungsionalitas di luar WS-I Profil Dasar 1.1:
Pengodean pesan dengan Message Transmission Optimization Mechanism (MTOM) yang dikontrol oleh properti BasicHttpBinding.MessageEncoding. Biarkan properti ini pada nilai defaultnya, yaitu WSMessageEncoding.Text tidak menggunakan MTOM.
Keamanan pesan yang dikontrol oleh nilai BasicHttpBinding.Security menyediakan dukungan WS-Security sesuai dengan WS-I Profil Keamanan Basic 1.0. Biarkan properti ini pada nilai defaultnya, yaitu SecurityMode.Transport tidak menggunakan WS-Security.
Untuk membuat metadata untuk layanan WCF tersedia untuk ASP.NET, gunakan alat pembuatan klien layanan Web: Alat Bahasa Deskripsi Layanan Web (Wsdl.exe), Alat Penemuan Layanan Web (Disco.exe), dan fitur Tambahkan Referensi Web di Visual Studio. Memungkinkan publikasi metadata. Untuk informasi selengkapnya, lihat Menerbitkan Titik Akhir Metadata.
Contoh
Deskripsi
Contoh kode berikut menunjukkan cara menambahkan titik akhir WCF yang kompatibel dengan klien layanan Web ASP.NET dalam kode dan, atau, dalam file konfigurasi.
Kode
using System;
using System.Collections.Generic;
using System.Text;
using System.ServiceModel;
using System.ServiceModel.Description;
[ServiceContract]
public interface IEcho
{
[OperationContract]
string Echo(string s);
}
public class MyService : IEcho
{
public string Echo(string s)
{
return s;
}
}
class Program
{
static void Main(string[] args)
{
string baseAddress = "http://localhost:8080/wcfselfhost/";
ServiceHost host = new ServiceHost(typeof(MyService), new Uri(baseAddress));
// Create a BasicHttpBinding instance
BasicHttpBinding binding = new BasicHttpBinding();
// Add a service endpoint using the created binding
host.AddServiceEndpoint(typeof(IEcho), binding, "echo1");
host.Open();
Console.WriteLine($"Service listening on {baseAddress} . . .");
Console.ReadLine();
host.Close();
}
}
Imports System.Collections.Generic
Imports System.Text
Imports System.ServiceModel
Imports System.ServiceModel.Description
<ServiceContract()> _
Public Interface IEcho
<OperationContract()> _
Function Echo(ByVal s As String) As String
End Interface
Public Class MyService
Implements IEcho
Public Function Echo(ByVal s As String) As String Implements IEcho.Echo
Return s
End Function
End Class
Friend Class Program
Shared Sub Main(ByVal args() As String)
Dim baseAddress = "http://localhost:8080/wcfselfhost/"
Dim host As New ServiceHost(GetType(MyService), _
New Uri(baseAddress))
' Add a service endpoint using the created binding
With host
.AddServiceEndpoint(GetType(IEcho), _
New BasicHttpBinding(), _
"echo1")
.Open()
Console.WriteLine("Service listening on {0} . . .", _
baseAddress)
Console.ReadLine()
.Close()
End With
End Sub
End Class
<configuration>
<system.serviceModel>
<services>
<service name="MyService" behaviorConfiguration="HttpGetMetadata">
<endpoint address="echo2" contract="IEcho" binding="basicHttpBinding" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="HttpGetMetadata">
<serviceMetadata httpGetEnabled="true" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
</configuration>