IBindingRuntimePreferences Arabirim
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Gelen isteklerin hizmet tarafından zaman uyumlu veya zaman uyumsuz olarak işlenip işlenmeyeceğini belirtmek için bağlamanın uygulayabileceği isteğe bağlı sözleşmeyi tanımlar.
public interface class IBindingRuntimePreferences
public interface IBindingRuntimePreferences
type IBindingRuntimePreferences = interface
Public Interface IBindingRuntimePreferences
- Türetilmiş
Örnekler
Aşağıdaki örnekte arabirimini uygulayan bir bağlamanın uygulanması gösterilmektedir IBindingRuntimePreferences . Bu kod ÖbekLeme Kanalı örneğinden alınır:
public class TcpChunkingBinding : Binding, IBindingRuntimePreferences
{
TcpTransportBindingElement tcpbe;
ChunkingBindingElement be;
public TcpChunkingBinding()
: base()
{
Initialize();
}
public TcpChunkingBinding(string name, string ns)
: base(name, ns)
{
Initialize();
}
public override BindingElementCollection CreateBindingElements()
{
BindingElementCollection col = new BindingElementCollection();
col.Add(be);
col.Add(tcpbe);
return col;
}
public override string Scheme
{
get { return tcpbe.Scheme; }
}
public int MaxBufferedChunks
{
get { return this.be.MaxBufferedChunks; }
set { this.be.MaxBufferedChunks = value; }
}
void Initialize()
{
be = new ChunkingBindingElement();
tcpbe = new TcpTransportBindingElement();
tcpbe.TransferMode=TransferMode.Buffered; //no transport streaming
tcpbe.MaxReceivedMessageSize = ChunkingUtils.ChunkSize + 100 * 1024; //add 100KB for headers
this.SendTimeout = new TimeSpan(0, 5, 0);
this.ReceiveTimeout = this.SendTimeout;
}
#region IBindingRuntimePreferences Members
public bool ReceiveSynchronously
{
get { return true; }
}
#endregion
}
Açıklamalar
Bazı durumlarda, bağlamanın iletileri zaman uyumlu Receive veya Request yöntemlerle işlemesi daha verimli olabilir. Sınıf Binding isteğe bağlı olarak çağıranlara bunun tercih edilir olduğunu göstermek için uygulayabilir IBindingRuntimePreferences .
Bağlama uygulamazsaIBindingRuntimePreferences, Windows Communication Foundation (WCF) Hizmet Modeli Çalışma Zamanı katmanı varsayılan olarak ve Request
yöntemlerinin zaman uyumsuz sürümlerini Receive
kullanır. Bağlama uygularsa IBindingRuntimePreferences, WCF Hizmet Modeli Çalışma Zamanı katmanı değerini denetler ReceiveSynchronously ve bunu kullanarak bu yöntemlerin (Receive veya Request) zaman uyumlu sürümlerinin veya zaman uyumsuz sürümlerin (BeginReceive ve EndReceive(IAsyncResult) veya BeginRequest ve EndRequest(IAsyncResult)) çağrılıp çağrılmayacağını belirler. Bağlama tarafından uygulanırsa ve özelliğinden döndürürse true
IBindingRuntimePreferences, kanaldan ReceiveSynchronously ileti almak için zaman uyumlu Receive ve Request yöntemlerini kullanmanız önerilir. Bağlama uygulamazsa IBindingRuntimePreferences veya özelliğinden ReceiveSynchronously döndürmezsefalse
, zaman uyumsuz BeginReceive ve veya BeginRequest ve EndReceive(IAsyncResult)EndRequest(IAsyncResult) yöntemlerini kullanmanız önerilir.
özelliği tarafından ReceiveSynchronously döndürülen değerden bağımsız olarak, tüm bağlamaların uygulanan belirli kanal türleri için yöntemlerin hem zaman uyumlu hem de zaman uyumsuz sürümlerinin Receive
geçerli uygulamalarını sağlamaya devam etmesi gerekir. Özel kanalları uygulama hakkında daha fazla bilgi için bkz. Kanal Geliştirme.
Özellikler
ReceiveSynchronously |
Gelen isteklerin daha verimli bir şekilde, zaman uyumlu veya zaman uyumsuz olarak işlenip işlenemeyeceğini belirten bir değer alır. |