共用方式為


<sendMessageChannelCache>

這個服務行為可讓您自訂快取共用層級、通道處理站快取的設定,以及工作流程使用傳送訊息活動來傳送訊息至服務端點的通道快取設定。

<configuration>
  <system.ServiceModel>
    <behaviors>
      <serviceBehaviors>
        <behavior>
          <sendMessageChannelCache>

Syntax

<behaviors>
  <serviceBehaviors>
    <behavior name="String">
      <sendMessageChannelCache allowUnsafeCaching="Boolean">
        <channelSettings idleTimeout="TimeSpan"
                         leaseTimeout="TimeSpan"
                         maxItemsInCache="Integer" />
        <factorySettings idleTimeout="TimeSpan"
                         leaseTimeout="TimeSpan"
                         maxItemsInCache="Integer" />
      </sendMessageChannelCache>
    </behavior>
  </serviceBehaviors>
</behaviors>  

屬性和項目

下列章節說明屬性、子元素和父元素。

屬性

屬性 描述
allowUnsafeCaching 指出是否要開啟快取功能的布林值。 如果您的工作流程服務有自訂繫結或自訂行為,快取可能會不安全,因此快取功能會依預設停用。 不過,如果要開啟快取功能,請將這個屬性設定為 true

子元素

元素 描述
<channelSettings> 指定通道快取的設定。
<factorySettings> 指定通道處理站快取的設定。

父項目

元素 描述
<serviceBehaviors> 的 <behavior> 指定行為項目。

備註

這個服務行為適用於將訊息傳送至服務端點的工作流程。 這些工作流程通常是用戶端工作流程,但也可以是裝載於 WorkflowServiceHost 中的工作流程服務。

根據預設,在 WorkflowServiceHost 所裝載的工作流程中,Send 中的所有工作流程執行個體會共用 WorkflowServiceHost 傳訊活動使用的快取 (主機層級快取)。 針對並非由 WorkflowServiceHost 裝載的用戶端工作流程,快取只能供工作流程執行個體使用 (執行個體層級快取)。 工作流程中的傳送活動若在組態中定義了端點,快取會依預設停用。

如需深入瞭解如何變更預設快取共用層級,以及通道處理站與通道快取的快取設定,請參閱變更傳送活動的快取共用層級

範例

在裝載的工作流程服務中,您可以在應用程式組態檔中,指定處理站快取和通道快取設定。 若要執行這項操作,請加入包含處理站快取設定和通道快取的服務行為,然後將這個服務行為加入您的服務中。 下列範例顯示組態檔的內容,其中包含 MyChannelCacheBehavior 服務行為及自訂的處理站快取和通道快取設定。 這個服務行為是透過 behaviorConfiguration 屬性加入服務的。

<configuration>
  <system.serviceModel>  
    <!-- List of other config sections here -->
    <behaviors>  
      <serviceBehaviors>  
        <behavior name="MyChannelCacheBehavior">  
          <sendMessageChannelCache allowUnsafeCaching ="false" >  
            <!-- Control only the host level settings -->
            <factorySettings maxItemsInCache = "8" idleTimeout = "00:05:00" leaseTimeout="10:00:00" />  
            <channelSettings maxItemsInCache = "32" idleTimeout = "00:05:00" leaseTimeout="00:06:00" />  
          </sendMessageChannelCache>  
        </behavior>  
      </serviceBehaviors>  
    </behaviors>  
    <services>  
      <service name="MyService" behaviorConfiguration="MyChannelCacheBehavior" />  
    </services>  
  </system.serviceModel>  
</configuration>  

另請參閱