Aracılığıyla paylaş


SendMessageChannelCache Oluşturucular

Tanım

SendMessageChannelCache sınıfının yeni bir örneğini başlatır.

Aşırı Yüklemeler

SendMessageChannelCache()

Varsayılan fabrika önbelleği ve kanal önbelleği ayarlarıyla sınıfının yeni bir örneğini SendMessageChannelCache başlatır.

SendMessageChannelCache(ChannelCacheSettings, ChannelCacheSettings)

Özel fabrika önbelleği ve kanal önbelleği ayarlarıyla sınıfının yeni bir örneğini SendMessageChannelCache başlatır.

SendMessageChannelCache(ChannelCacheSettings, ChannelCacheSettings, Boolean)

Sınıfının yeni bir örneğini SendMessageChannelCache özel fabrika önbellek ayarları, özel kanal önbellek ayarları ve önbelleğe alma özelliğinin açılıp açılmayacağını belirten bir değerle başlatır.

SendMessageChannelCache()

Varsayılan fabrika önbelleği ve kanal önbelleği ayarlarıyla sınıfının yeni bir örneğini SendMessageChannelCache başlatır.

public:
 SendMessageChannelCache();
public SendMessageChannelCache ();
Public Sub New ()

Şunlara uygulanır

SendMessageChannelCache(ChannelCacheSettings, ChannelCacheSettings)

Özel fabrika önbelleği ve kanal önbelleği ayarlarıyla sınıfının yeni bir örneğini SendMessageChannelCache başlatır.

public:
 SendMessageChannelCache(System::ServiceModel::Activities::ChannelCacheSettings ^ factorySettings, System::ServiceModel::Activities::ChannelCacheSettings ^ channelSettings);
public SendMessageChannelCache (System.ServiceModel.Activities.ChannelCacheSettings factorySettings, System.ServiceModel.Activities.ChannelCacheSettings channelSettings);
new System.ServiceModel.Activities.SendMessageChannelCache : System.ServiceModel.Activities.ChannelCacheSettings * System.ServiceModel.Activities.ChannelCacheSettings -> System.ServiceModel.Activities.SendMessageChannelCache
Public Sub New (factorySettings As ChannelCacheSettings, channelSettings As ChannelCacheSettings)

Parametreler

factorySettings
ChannelCacheSettings

Önbelleğe alınmış kanal fabrikaları için önbellek ayarları.

channelSettings
ChannelCacheSettings

Önbelleğe alınan kanalların önbellek ayarları.

Örnekler

Aşağıdaki örnekte, tek bir uygulama etki alanındaki iki iş akışı uygulaması arasında kanal önbelleği paylaşmak için sınıfının nasıl kullanılacağı SendMessageChannelCache gösterilmektedir.


//sharing a channel cache between two workflow applications in a single app-domain.
sharedChannelCache = new SendMessageChannelCache(new ChannelCacheSettings { MaxItemsInCache = 5 }, new ChannelCacheSettings { MaxItemsInCache = 5 });

WorkflowApplication workflowApp1 = new WorkflowApplication(workflow);
workflowApp1.Completed = new Action<WorkflowApplicationCompletedEventArgs>(OnCompleted);
workflowApp1.Extensions.Add(sharedChannelCache);

WorkflowApplication workflowApp2 = new WorkflowApplication(workflow);
workflowApp2.Completed = new Action<WorkflowApplicationCompletedEventArgs>(OnCompleted);
workflowApp2.Extensions.Add(sharedChannelCache);

//disabling the channel cache so that channels are closed after being used.
SendMessageChannelCache disabledChannelCache = new SendMessageChannelCache(new ChannelCacheSettings { MaxItemsInCache = 0 }, new ChannelCacheSettings { MaxItemsInCache = 0 });

WorkflowApplication workflowApp3 = new WorkflowApplication(workflow);
workflowApp3.Completed = new Action<WorkflowApplicationCompletedEventArgs>(OnCompleted);
workflowApp3.Extensions.Add(disabledChannelCache);

Açıklamalar

Kanal fabrikaları hakkında daha fazla bilgi için bkz ChannelFactory . ve ChannelFactory<TChannel>.

Parametresini 0 değerine sahip MaxItemsInCache bir ChannelCacheSettings örneğe başlatılan bu oluşturucuya geçirerek channelSettings yalnızca kanal fabrikası önbelleğini kullanmayı ve kanal önbelleğini devre dışı bırakabilirsiniz. Hem kanal fabrikası önbelleği hem de kanal önbelleği için önbelleği tamamen devre dışı bırakmak için parametresini factorySettings 0 değerine sahip MaxItemsInCache bir ChannelCacheSettings örneğe başlatılan bu oluşturucuya geçirin. Kanal fabrikası önbelleği devre dışı bırakılırsa kanal önbelleğini açamayacağınızı unutmayın.

Şunlara uygulanır

SendMessageChannelCache(ChannelCacheSettings, ChannelCacheSettings, Boolean)

Sınıfının yeni bir örneğini SendMessageChannelCache özel fabrika önbellek ayarları, özel kanal önbellek ayarları ve önbelleğe alma özelliğinin açılıp açılmayacağını belirten bir değerle başlatır.

public:
 SendMessageChannelCache(System::ServiceModel::Activities::ChannelCacheSettings ^ factorySettings, System::ServiceModel::Activities::ChannelCacheSettings ^ channelSettings, bool allowUnsafeCaching);
public SendMessageChannelCache (System.ServiceModel.Activities.ChannelCacheSettings factorySettings, System.ServiceModel.Activities.ChannelCacheSettings channelSettings, bool allowUnsafeCaching);
new System.ServiceModel.Activities.SendMessageChannelCache : System.ServiceModel.Activities.ChannelCacheSettings * System.ServiceModel.Activities.ChannelCacheSettings * bool -> System.ServiceModel.Activities.SendMessageChannelCache
Public Sub New (factorySettings As ChannelCacheSettings, channelSettings As ChannelCacheSettings, allowUnsafeCaching As Boolean)

Parametreler

factorySettings
ChannelCacheSettings

Önbelleğe alınmış kanal fabrikaları için önbellek ayarları.

channelSettings
ChannelCacheSettings

Önbelleğe alınan kanalların önbellek ayarları.

allowUnsafeCaching
Boolean

true önbelleğe almayı açmak için; aksi takdirde , false.

Açıklamalar

Varsayılan olarak, önbellek yalnızca yapılandırmada tanımlanan uç noktaları kullanmayan etkinlikler için Send kullanılabilir. Ancak, bu durumda önbelleğe almayı açmak istiyorsanız parametresi olarak ayarlanmış trueolarak bu oluşturucuyu çağırınallowUnsafeCaching. Ardından, bu sınıfın yeni örneğini bir iş akışı hizmeti konağına veya iş akışı örneğine uzantı olarak ekleyin.

Kanal fabrikaları hakkında daha fazla bilgi için bkz ChannelFactory . ve ChannelFactory<TChannel>.

Şunlara uygulanır