Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aviso
Para usar o método de migração fornecido, você não deve remover as implementações antigas das políticas antes de seguir este guia.
- Para migrar suas políticas personalizadas, primeiro você deve criar uma nova classe com os mesmos métodos, mas herdar
CheckinPolicyBase
a classe (IPolicyCompatibilityJson
paraIPolicyCompatibility
) em vez dePolicyBase
. Exemplos:
Obsoleto
[Serializable]
public class Simple : PolicyBase
{
public override string Description => "SimplePolicyDescription";
...
}
Atualizado
[Serializable]
public class SimpleNew : CheckinPolicyBase
{
public override string Description => "SimplePolicyDescription";
...
}
- Se
GetBinaryFormatter
tiver sido substituído, implemente tambémGetJsonSerializerSettings
com a mesma lógica para serialização. Exemplo:
Obsoleto
[Serializable]
public class Simple : PolicyBase
{
public override BinaryFormatter GetBinaryFormatter()
{
BinaryFormatter formatter = new BinaryFormatter();
formatter.Binder = new SimpleBinder();
return formatter;
}
...
}
Atualizado
[Serializable]
public class SimpleNew : CheckinPolicyBase
{
public override JsonSerializerSettings GetJsonSerializerSettings()
{
return new JsonSerializerSettings()
{
SerializationBinder = new SimpleNewSerializationBinder(),
TypeNameHandling = TypeNameHandling.Objects
};
}
...
}
- Em vez dos métodos antigos, como
GetCheckinPoliciesForServerPaths
/GetCheckinPolicies
/SetCheckinPolicies
, novos foram introduzidos:GetCheckinClientPoliciesForServerPaths
/GetCheckinClientPolicies
/SetCheckinClientPolicies
adequadamente. Por exemplo, o comportamento padrão agora para o métodoLoadPolicies
no pacote é usar novas políticas se elas forem criadas/disponibilizadas e obsoletas caso estejam ausentes.
Observação
Se você não estiver planejando usar o método de migração fornecido pelo pacote NuGet, outras instruções poderão ser omitidas e políticas obsoletas poderão ser removidas, você está pronto, parabéns!
- Para sua política obsoleta, adicione
IPolicyMigration
(esta interface está marcada como obsoleta apenas para mostrar que será removida como desnecessária junto comPolicyBase
eIPolicyCompatibility
).
Aviso
Políticas obsoletas que não herdam essa interface serão ignoradas durante a migração e não salvas como novas políticas.
- Implemente
ToNewPolicyType
a partir da interface mencionada. Ele deve retornar a instância da classe de política recém-criada com base na política que foi recém-modificada. Exemplo:
[Serializable]
public class Simple : PolicyBase, IPolicyMigration
{
...
public CheckinPolicyBase ToNewPolicyType()
{
return new SimpleNew();
}
}
- Chame o método
MigrateFromOldPolicies
.
Você terminou, parabéns!