enumerasi WS_LISTENER_PROPERTY_ID (webservices.h)

Setiap properti pendengar berjenis WS_LISTENER_PROPERTY, diidentifikasi oleh ID, dan memiliki nilai terkait. Jika properti tidak ditentukan saat pendengar dibuat, maka nilai defaultnya digunakan.

Sintaks

typedef enum {
  WS_LISTENER_PROPERTY_LISTEN_BACKLOG = 0,
  WS_LISTENER_PROPERTY_IP_VERSION = 1,
  WS_LISTENER_PROPERTY_STATE = 2,
  WS_LISTENER_PROPERTY_ASYNC_CALLBACK_MODEL = 3,
  WS_LISTENER_PROPERTY_CHANNEL_TYPE = 4,
  WS_LISTENER_PROPERTY_CHANNEL_BINDING = 5,
  WS_LISTENER_PROPERTY_CONNECT_TIMEOUT = 6,
  WS_LISTENER_PROPERTY_IS_MULTICAST = 7,
  WS_LISTENER_PROPERTY_MULTICAST_INTERFACES = 8,
  WS_LISTENER_PROPERTY_MULTICAST_LOOPBACK = 9,
  WS_LISTENER_PROPERTY_CLOSE_TIMEOUT = 10,
  WS_LISTENER_PROPERTY_TO_HEADER_MATCHING_OPTIONS = 11,
  WS_LISTENER_PROPERTY_TRANSPORT_URL_MATCHING_OPTIONS = 12,
  WS_LISTENER_PROPERTY_CUSTOM_LISTENER_CALLBACKS = 13,
  WS_LISTENER_PROPERTY_CUSTOM_LISTENER_PARAMETERS = 14,
  WS_LISTENER_PROPERTY_CUSTOM_LISTENER_INSTANCE = 15,
  WS_LISTENER_PROPERTY_DISALLOWED_USER_AGENT = 16
} WS_LISTENER_PROPERTY_ID;

Konstanta

 
WS_LISTENER_PROPERTY_LISTEN_BACKLOG
Nilai: 0
Digunakan dengan WsCreateListener atau WsGetListenerProperty untuk WS_TCP_CHANNEL_BINDING.


Anggota nilai yang menyertai struktur WS_LISTENER_PROPERTY adalah ULONG.

Ini mengontrol panjang maksimum antrean koneksi yang tertunda. Jika diatur ke
SOMAXCONN, backlog akan diatur ke nilai wajar maksimum.
WS_LISTENER_PROPERTY_IP_VERSION
Nilai: 1
Digunakan dengan WsCreateListener atau WsGetListenerProperty untuk WS_TCP_CHANNEL_BINDING atau WS_UDP_CHANNEL_BINDING.


Anggota nilai yang menyertai struktur WS_LISTENER_PROPERTY adalah nilai WS_IP_VERSION .

Properti ini menentukan versi IP mana yang harus digunakan pendengar.


Nilai defaultnya adalah WS_IP_VERSION_AUTO.
WS_LISTENER_PROPERTY_STATE
Nilai: 2
Digunakan dengan WsGetListenerProperty untuk semua jenis saluran.



Anggota nilai yang menyertai struktur WS_LISTENER_PROPERTY adalah nilai WS_LISTENER_STATE .

Mengembalikan WS_LISTENER_STATE pendengar saat ini. Nilai yang dikembalikan adalah rekam jepret dari status saat ini, sehingga
mungkin bahwa status mungkin telah berubah sebelum pemanggil memiliki
sempat memeriksa nilainya.
WS_LISTENER_PROPERTY_ASYNC_CALLBACK_MODEL
Nilai: 3
Digunakan dengan WsCreateListener atau WsGetListenerProperty untuk semua jenis saluran.


Anggota nilai yang menyertai struktur WS_LISTENER_PROPERTY adalah nilai WS_CALLBACK_MODEL .

Nilai ini menunjukkan model panggilan balik asinkron pilihan saat menerbitkan
operasi asinkron untuk pendengar atau saluran yang dibuat untuknya
menggunakan WsCreateChannelForListener.


Defaultnya adalah WS_LONG_CALLBACK.


WS_SERVICE_HOST hanya mendukung WS_LONG_CALLBACK sebagai nilai yang dapat diterima
untuk properti ini.
WS_LISTENER_PROPERTY_CHANNEL_TYPE
Nilai: 4
Digunakan dengan WsGetListenerProperty untuk semua jenis saluran.

Anggota nilai yang menyertai struktur WS_LISTENER_PROPERTY adalah nilai WS_CHANNEL_TYPE .

Properti ini
menentukan pola pertukaran pesan saluran yang digunakan.
WS_LISTENER_PROPERTY_CHANNEL_BINDING
Nilai: 5
Digunakan dengan WsGetListenerProperty untuk semua jenis saluran.

Anggota nilai yang menyertai struktur WS_LISTENER_PROPERTY adalah nilai WS_CHANNEL_BINDING .

Properti ini
menentukan pengikatan saluran yang digunakan.
WS_LISTENER_PROPERTY_CONNECT_TIMEOUT
Nilai: 6
Digunakan dengan WsCreateListener atau WsGetListenerProperty untuk WS_TCP_CHANNEL_BINDING dan WS_NAMEDPIPE_CHANNEL_BINDING.

Anggota nilai yang menyertai struktur WS_LISTENER_PROPERTY adalah ULONG.

Operasi terima akan menunggu
untuk jumlah waktu yang tidak terbatas untuk menerima soket TCP yang mendasar atau pipa bernama. Ini
batas waktu sesuai dengan jumlah waktu yang didedikasikan untuk jabat tangan net.tcp atau net.pipe
yang terjadi antara klien dan layanan setelah klien terhubung.
Nilai batas waktu dalam milidetik, di mana nilai yang ditunjukkan INFINITE
tidak ada waktu habis. Gunakan
WS_CHANNEL_PROPERTY_CONNECT_TIMEOUT untuk mengatur yang sesuai
nilai di sisi klien.


Nilai defaultnya adalah 15000 (15 detik).
WS_LISTENER_PROPERTY_IS_MULTICAST
Nilai: 7
Digunakan dengan WsCreateListener atau WsGetListenerProperty untuk WS_UDP_CHANNEL_BINDING dengan WS_CHANNEL_TYPE_DUPLEX untuk menunjukkan bahwa pendengar mendengarkan alamat multicast.


Anggota nilai yang menyertai struktur WS_LISTENER_PROPERTY adalah BOOL.

Perhatikan bahwa pengaturan properti ini tidak cukup saat mendengarkan
alamat multicast. Kumpulan antarmuka juga harus ditentukan
menggunakan properti WS_LISTENER_PROPERTY_MULTICAST_INTERFACES .


Saluran tidak memvalidasi bahwa alamat sebenarnya adalah
alamat multicast, tetapi mengatur penggunaan kembali soket
sehingga proses lain juga dapat membuka port yang sama.


Nilai defaultnya adalah FALSE.
WS_LISTENER_PROPERTY_MULTICAST_INTERFACES
Nilai: 8
Digunakan dengan WsCreateListener atau WsSetListenerProperty untuk WS_UDP_CHANNEL_BINDING dengan WS_CHANNEL_TYPE_DUPLEX.


Anggota nilai yang menyertai struktur WS_LISTENER_PROPERTY adalah array nilai ULONG .

Ukuran properti
adalah sizeof(ULONG) dikalikan dengan jumlah nilai. Setiap nilai mewakili
indeks antarmuka adaptor. Indeks adaptor dapat
diperoleh menggunakan fungsi GetAdaptersAddresses.


Nilai WS_LISTENER_PROPERTY_IS_MULTICAST ini
properti harus TRUE agar dapat menggunakan properti ini.


Nilai default adalah daftar kosong (tanpa antarmuka).
WS_LISTENER_PROPERTY_MULTICAST_LOOPBACK
Nilai: 9
Digunakan dengan WsCreateListener untuk WS_UDP_CHANNEL_BINDING
dengan WS_CHANNEL_TYPE_DUPLEX.


Anggota nilai yang menyertai struktur WS_LISTENER_PROPERTY adalah BOOL.

Ini menunjukkan apakah pesan atau tidak
dikirim pada antarmuka loopback diterima oleh saluran ini. Jika TRUE,
kemudian pesan diterima (jika tidak, pesan tidak akan dilihat oleh saluran).


Nilai WS_LISTENER_PROPERTY_IS_MULTICAST ini
properti harus TRUE agar dapat menggunakan properti ini.


Nilai defaultnya adalah TRUE.
WS_LISTENER_PROPERTY_CLOSE_TIMEOUT
Nilai: 10
Digunakan dengan WsCreateListener atau WsGetListenerProperty untuk WS_HTTP_CHANNEL_BINDING dengan WS_CHANNEL_TYPE_REPLY.


Anggota nilai yang menyertai struktur WS_LISTENER_PROPERTY adalah ULONG.

Ini menunjukkan jumlah milidetik untuk
tunggu klien menerima data dari respons ketika WsCloseListener dipanggil.


Tujuan dari batas waktu ini adalah untuk memungkinkan waktu klien untuk terus menerima
data dari respons HTTP yang dikirim oleh server sebelum server HTTP terputus
koneksi klien.


Perhitungan nilai batas waktu yang digunakan adalah sebagai berikut:



  • Pada saat WsCloseListener dipanggil, tentukan
    waktu respons terakhir dikirim (waktu respons terakhir). Untuk tujuan
    perhitungan batas waktu ini, respons dicatat sebagai dikirim setelah WsWriteMessageEnd dipanggil untuk respons.

  • Hitung perbedaan antara waktu saat ini dan waktu respons terakhir.

  • Jika perbedaannya lebih dari nilai batas waktu, maka nilai aktual
    batas waktu yang digunakan adalah nol.

  • Jika perbedaannya kurang dari atau sama dengan nilai batas waktu, maka
    batas waktu aktual yang digunakan adalah nilai batas waktu dikurangi perbedaan.


Nilai batas waktu default adalah 5000 (5 detik).
WS_LISTENER_PROPERTY_TO_HEADER_MATCHING_OPTIONS
Nilai: 11
Digunakan dengan WsCreateListener untuk WS_TCP_CHANNEL_BINDING,
WS_HTTP_CHANNEL_BINDING, WS_UDP_CHANNEL_BINDING, atau WS_NAMEDPIPE_CHANNEL_BINDING.


Anggota nilai yang menyertai struktur WS_LISTENER_PROPERTY adalah ULONG.

Nilai properti berisi sekumpulan bendera (lihat WS_URL_MATCHING_OPTIONS) yang
tentukan cara mencocokkan URL di WS_TO_HEADER pesan yang diterima.


Nilai defaultnya adalah:



syntax<br><br>WS_MATCH_URL_THIS_HOST |<br>WS_MATCH_URL_EXACT_PATH |<br>WS_MATCH_URL_PORT |<br>WS_MATCH_URL_NO_QUERY<br><br>
WS_LISTENER_PROPERTY_TRANSPORT_URL_MATCHING_OPTIONS
Nilai: 12
Digunakan dengan WsCreateListener untuk WS_TCP_CHANNEL_BINDING atau
WS_HTTP_CHANNEL_BINDING.


Anggota nilai yang menyertai struktur WS_LISTENER_PROPERTY adalah ULONG.

Nilai properti berisi sekumpulan bendera (lihat WS_URL_MATCHING_OPTIONS) yang
tentukan cara mencocokkan URL transportasi dari saluran yang diterima. Lihat
WS_CHANNEL_PROPERTY_TRANSPORT_URL untuk informasi selengkapnya tentang URL transportasi.


Nilai defaultnya adalah:



syntax<br><br>WS_MATCH_URL_THIS_HOST |<br>WS_MATCH_URL_EXACT_PATH |<br>WS_MATCH_URL_PORT |<br>WS_MATCH_URL_NO_QUERY<br><br>

Properti ini hanya mengontrol verifikasi pesan setelah diterima
oleh proses, bukan perutean pesan ke proses (yang ditentukan
oleh URL yang diteruskan ke WsOpenListener).
WS_LISTENER_PROPERTY_CUSTOM_LISTENER_CALLBACKS
Nilai: 13
Digunakan dengan WsCreateListener untuk WS_CUSTOM_CHANNEL_BINDING.


Anggota nilai yang menyertai struktur WS_LISTENER_PROPERTY adalah struktur WS_CUSTOM_LISTENER_CALLBACKS .

Properti ini digunakan untuk menentukan panggilan balik yang
tentukan implementasi listener kustom.


Properti ini harus ditentukan ketika WS_CUSTOM_CHANNEL_BINDING digunakan.
WS_LISTENER_PROPERTY_CUSTOM_LISTENER_PARAMETERS
Nilai: 14
Digunakan dengan WsCreateListener untuk WS_CUSTOM_CHANNEL_BINDING.


Anggota nilai yang menyertai struktur WS_LISTENER_PROPERTY adalah penunjuk ke jenis data berukuran sewenang-wenang.
Ukuran properti adalah ukuran jenis data.


Properti ini digunakan untuk menentukan parameter yang digunakan untuk membuat kustom
implementasi listener.


Nilai properti ini akan diteruskan ke
WS_CREATE_LISTENER_CALLBACK.


Jika properti ini tidak ditentukan, nilainya adalah NULL dan ukurannya adalah nol.
WS_LISTENER_PROPERTY_CUSTOM_LISTENER_INSTANCE
Nilai: 15
Digunakan dengan WsGetChannelProperty untuk WS_CUSTOM_CHANNEL_BINDING.


Anggota nilai yang menyertai struktur WS_LISTENER_PROPERTY adalah kekosongan* dan ukuran properti adalah sizeof(void*).

Nilai
sesuai dengan nilai listenerInstance yang dikembalikan oleh
WS_CREATE_LISTENER_CALLBACK.


Properti ini dapat digunakan untuk mendapatkan pendengar yang mendasar
instans untuk pendengar kustom. Ini memungkinkan penelepon untuk secara langsung
berinteraksi dengan instans untuk kasus saat yang ada
set properti pendengar atau fungsi pendengar tidak mencukup.
WS_LISTENER_PROPERTY_DISALLOWED_USER_AGENT
Nilai: 16
Digunakan dengan WsCreateListener untuk WS_HTTP_CHANNEL_BINDING.


Anggota nilai yang menyertai struktur WS_LISTENER_PROPERTY adalah penunjuk ke WS_DISALLOWED_USER_AGENT_SUBSTRINGS yang menentukan daftar pengguna yang tidak diizinkan
sub-string agen.

  • Setelah menerima permintaan HTTP, nilai header UserAgent diekstrak.

  • Setiap sub-string dalam daftar, dicari dalam nilai string UserAgent yang diekstrak.

  • Jika substring ditemukan, permintaan ditolak.




Daftar secara default berisi entri berikut

  • Browser Web: Mozilla




Properti ini tidak berlaku untuk pendengar yang dikonfigurasi dengan pengodean WS_ENCODING_RAW .

Persyaratan

   
Klien minimum yang didukung Windows 7 [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung Windows Server 2008 R2 [aplikasi desktop | Aplikasi UWP]
Header webservices.h