Configurare le impostazioni di FabricTransport per Reliable Actors
Ecco le impostazioni che possono essere configurate:
È possibile modificare la configurazione predefinita di FabricTransport nei modi seguenti.
Attributo assembly
L'attributo FabricTransportActorRemotingProvider deve essere applicato negli assembly del client attore e del servizio attore.
L'esempio seguente illustra come modificare il valore predefinito delle impostazioni OperationTimeout di FabricTransport:
using Microsoft.ServiceFabric.Actors.Remoting.FabricTransport;
[assembly:FabricTransportActorRemotingProvider(OperationTimeoutInSeconds = 600)]
Il secondo esempio modifica i valori predefiniti di FabricTransport MaxMessageSize e OperationTimeoutInSeconds.
using Microsoft.ServiceFabric.Actors.Remoting.FabricTransport;
[assembly:FabricTransportActorRemotingProvider(OperationTimeoutInSeconds = 600,MaxMessageSize = 134217728)]
Pacchetto di configurazione
È possibile usare un pacchetto di configurazione per modificare la configurazione predefinita.
Importante
Nei nodi di Linux i certificati devono essere formattati con estensione PEM. Per altre informazioni sull'individuazione e la configurazione dei certificati per Linux, vedere Configurare i certificati in Linux.
Configurare le impostazioni di FabricTransport per il servizio attore
Aggiungere una sezione TransportSettings nel file settings.xml.
Per impostazione predefinita, il codice attore cerca il nome sezione "<ActorName>TransportSettings". Se non viene trovato, cerca il SectionName "TransportSettings".
<Section Name="MyActorServiceTransportSettings">
<Parameter Name="MaxMessageSize" Value="10000000" />
<Parameter Name="OperationTimeoutInSeconds" Value="300" />
<Parameter Name="SecurityCredentialsType" Value="X509" />
<Parameter Name="CertificateFindType" Value="FindByThumbprint" />
<Parameter Name="CertificateFindValue" Value="4FEF3950642138446CC364A396E1E881DB76B48C" />
<Parameter Name="CertificateRemoteThumbprints" Value="b3449b018d0f6839a2c5d62b5b6c6ac822b6f662" />
<Parameter Name="CertificateStoreLocation" Value="LocalMachine" />
<Parameter Name="CertificateStoreName" Value="My" />
<Parameter Name="CertificateProtectionLevel" Value="EncryptAndSign" />
<Parameter Name="CertificateRemoteCommonNames" Value="ServiceFabric-Test-Cert" />
</Section>
Configurare le impostazioni di FabricTransport per l'assembly del client attore
Se il client non è in esecuzione come parte di un servizio, è possibile creare un file XML "<Nome EXE client>.settings.xml" nello stesso percorso in cui si trova il file client .exe. Aggiungere quindi una sezione TransportSettings in tale file. SectionName deve essere "TransportSettings".
<?xml version="1.0" encoding="utf-8"?>
<Settings xmlns:xsd="https://www.w3.org/2001/XMLSchema" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/2011/01/fabric">
<Section Name="TransportSettings">
<Parameter Name="SecurityCredentialsType" Value="X509" />
<Parameter Name="OperationTimeoutInSeconds" Value="300" />
<Parameter Name="CertificateFindType" Value="FindByThumbprint" />
<Parameter Name="CertificateFindValue" Value="b3449b018d0f6839a2c5d62b5b6c6ac822b6f662" />
<Parameter Name="CertificateRemoteThumbprints" Value="4FEF3950642138446CC364A396E1E881DB76B48C" />
<Parameter Name="OperationTimeoutInSeconds" Value="300" />
<Parameter Name="CertificateStoreLocation" Value="LocalMachine" />
<Parameter Name="CertificateStoreName" Value="My" />
<Parameter Name="CertificateProtectionLevel" Value="EncryptAndSign" />
<Parameter Name="CertificateRemoteCommonNames" Value="WinFabric-Test-SAN1-Alice" />
</Section>
</Settings>
Configurazione delle impostazioni di FabricTransport per il client/servizio Actor protetto con certificato secondario. È possibile aggiungere informazioni sul certificato secondario aggiungendo il parametro CertificateFindValuebySecondary. L'esempio seguente riguarda TransportSettings del listener.
<Section Name="TransportSettings"> <Parameter Name="SecurityCredentialsType" Value="X509" /> <Parameter Name="CertificateFindType" Value="FindByThumbprint" /> <Parameter Name="CertificateFindValue" Value="b3449b018d0f6839a2c5d62b5b6c6ac822b6f662" /> <Parameter Name="CertificateFindValuebySecondary" Value="h9449b018d0f6839a2c5d62b5b6c6ac822b6f690" /> <Parameter Name="CertificateRemoteThumbprints" Value="4FEF3950642138446CC364A396E1E881DB76B48C,a9449b018d0f6839a2c5d62b5b6c6ac822b6f667" /> <Parameter Name="CertificateStoreLocation" Value="LocalMachine" /> <Parameter Name="CertificateStoreName" Value="My" /> <Parameter Name="CertificateProtectionLevel" Value="EncryptAndSign" /> </Section>
L'esempio seguente riguarda TransportSettings del client.
<Section Name="TransportSettings"> <Parameter Name="SecurityCredentialsType" Value="X509" /> <Parameter Name="CertificateFindType" Value="FindByThumbprint" /> <Parameter Name="CertificateFindValue" Value="4FEF3950642138446CC364A396E1E881DB76B48C" /> <Parameter Name="CertificateFindValuebySecondary" Value="a9449b018d0f6839a2c5d62b5b6c6ac822b6f667" /> <Parameter Name="CertificateRemoteThumbprints" Value="b3449b018d0f6839a2c5d62b5b6c6ac822b6f662,h9449b018d0f6839a2c5d62b5b6c6ac822b6f690" /> <Parameter Name="CertificateStoreLocation" Value="LocalMachine" /> <Parameter Name="CertificateStoreName" Value="My" /> <Parameter Name="CertificateProtectionLevel" Value="EncryptAndSign" /> </Section>
Configurazione delle impostazioni di FabricTransport per il client/servizio Actor protetto usando il nome oggetto. L'utente deve fornire findType come FindBySubjectName e aggiungere i valori di CertificateIssuerThumbprints e CertificateRemoteCommonNames. L'esempio seguente riguarda TransportSettings del listener.
<Section Name="TransportSettings"> <Parameter Name="SecurityCredentialsType" Value="X509" /> <Parameter Name="CertificateFindType" Value="FindBySubjectName" /> <Parameter Name="CertificateFindValue" Value="CN = WinFabric-Test-SAN1-Alice" /> <Parameter Name="CertificateIssuerThumbprints" Value="b3449b018d0f6839a2c5d62b5b6c6ac822b6f662" /> <Parameter Name="CertificateRemoteCommonNames" Value="WinFabric-Test-SAN1-Bob" /> <Parameter Name="CertificateStoreLocation" Value="LocalMachine" /> <Parameter Name="CertificateStoreName" Value="My" /> <Parameter Name="CertificateProtectionLevel" Value="EncryptAndSign" /> </Section>
L'esempio seguente riguarda TransportSettings del client.
<Section Name="TransportSettings"> <Parameter Name="SecurityCredentialsType" Value="X509" /> <Parameter Name="CertificateFindType" Value="FindBySubjectName" /> <Parameter Name="CertificateFindValue" Value="CN = WinFabric-Test-SAN1-Bob" /> <Parameter Name="CertificateStoreLocation" Value="LocalMachine" /> <Parameter Name="CertificateStoreName" Value="My" /> <Parameter Name="CertificateRemoteCommonNames" Value="WinFabric-Test-SAN1-Alice" /> <Parameter Name="CertificateProtectionLevel" Value="EncryptAndSign" /> </Section>