Docs Menu
Docs Home
/ /

Actualizar versiones de los controladores

En esta sección, puede identificar los cambios esenciales que debe realizar en su aplicación cuando actualice su controlador a una nueva versión.

Antes de actualizar, realice las siguientes acciones:

  • Asegúrese de que la nueva versión sea compatible con las versiones de MongoDB Server a las que se conecta su aplicación y con la versión de .NET Framework en la que se ejecuta. Consulte la Página de compatibilidad de controladores .NET/C# para obtener esta información.

  • Aborde cualquier cambio importante entre la versión actual del controlador que utiliza su aplicación y la versión de actualización planificada en la sección Cambios importantes. Para obtener más información sobre los cambios de compatibilidad de versiones de MongoDB Server, consulte la sección Cambios de compatibilidad de versiones de Server.

Tip

Para minimizar la cantidad de cambios que su aplicación puede requerir al actualizar las versiones del controlador en el futuro, utilice el API estable.

Un cambio disruptivo es una modificación de una convención o comportamiento que se inicia en una versión específica del controlador. Este tipo de cambio puede impedir el correcto funcionamiento de la aplicación si no se soluciona antes de actualizar el controlador.

Los cambios importantes de esta sección se clasifican según la versión del controlador que los introdujo. Al actualizar las versiones del controlador, aborde todos los cambios importantes entre la versión actual y la de actualización. Por ejemplo, si actualiza el controlador2.0 de2.20 la versión 7600 a la 7800, aborde todos los cambios importantes de la versión posterior a la2.0 8000, incluidos los que aparecen en la versión2.20 8200.

  • Todos los componentes del controlador .NET/C# tienen nombres seguros. Si utiliza la versión 2.28 o posterior del controlador y su aplicación tiene dependencias que hacen referencia a varias versiones del controlador .NET/C#, debe crear redirecciones de enlace, como se muestra en el siguiente ejemplo:

    <configuration>
    <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    <dependentAssembly>
    <assemblyIdentity name="MongoDB.Driver"
    publicKeyToken="94992a530f44e321"
    culture="neutral" />
    <bindingRedirect oldVersion="2.28.0.0"
    newVersion="<version number to use>" />
    </dependentAssembly>
    <dependentAssembly>
    <assemblyIdentity name="MongoDB.Bson"
    publicKeyToken="94992a530f44e321"
    culture="neutral" />
    <bindingRedirect oldVersion="2.28.0.0"
    newVersion="<version number to use>" />
    </dependentAssembly>
    <dependentAssembly>
    <assemblyIdentity name="MongoDB.Driver.Core"
    publicKeyToken="94992a530f44e321"
    culture="neutral" />
    <bindingRedirect oldVersion="2.28.0.0"
    newVersion="<version number to use>" />
    </dependentAssembly>
    </assemblyBinding>
    </runtime>
    </configuration>
  • La firma de la función de Render Los métodos de los constructores de búsqueda de MongoDB cambiaron. El siguiente fragmento de código muestra la firma de la función antes y después del cambio:

    // Render function signature prior to v2.21.0
    Render(IBsonSerializer<TDocument> documentSerializer, IBsonSerializerRegistry serializerRegistry);
    // Render function signature in v2.21.0 and later
    Render(SearchDefinitionRenderContext<TDocument> renderContext);
  • El ObjectSerializer solo permite la deserialización de tipos considerados seguros. Si no se especifica lo contrario, el ObjectSerializer utiliza los tipos devueltos por el ObjectSerializer.DefaultAllowedTypes.

    Para obtener más información ObjectSerializer sobre, consulta las preguntas frecuentes. Para obtener más información DefaultAllowedTypes sobre, consulta la documentación de la API.

  • El valor predeterminado LinqProvider se ha cambiado a LINQ3. El valor LinqProvider se puede configurar para LINQ2 en MongoClientSettings, como se muestra en el siguiente ejemplo de código:

    var connectionString = "<connection string>";
    var clientSettings = MongoClientSettings
    .FromConnectionString(connectionString);
    clientSettings.LinqProvider = LinqProvider.V2;
    var client = new MongoClient(clientSettings);
  • Esta versión del controlador MongoDB .NET/C# eliminó la compatibilidad con .NET framework v4.5.2 o anterior; el .NET framework mínimo compatible es v4.7.2.

  • Esta versión del Driver MongoDB .NET/C# no es compatible con .NET Standard v1.5; la versión mínima compatible de .NET Standard es v2.0.

  • Se eliminó la opción de cadena de conexión slave0k; ahora se utiliza la opción readPreference en su lugar.

Un cambio de compatibilidad de versión del servidor es una modificación al controlador MongoDB .NET/C# que interrumpe el soporte para un conjunto de versiones del servidor MongoDB.

El controlador deja de brindar soporte para una versión de MongoDB Server una vez que alcanza el final de su vida útil (EOL).

Para obtener más información sobre el soporte de MongoDB para productos EOL, consulte la Política de soporte heredado.

Para obtener más información sobre la compatibilidad entre las versiones del controlador .NET/C# y las versiones de MongoDB Server, visite la página de Compatibilidad.

No se puede usar la versión v2.14.1 ni versiones anteriores del controlador .NET/C# para conectarse a una implementación que ejecute MongoDB Server v8.1. A partir de MongoDB Server v8.1, el comando buildinfo requiere autenticación, lo que provoca una incompatibilidad con estas versiones del controlador.

El controlador v2.14 deja de ser compatible con MongoDB Server v3.4 y versiones anteriores. Para usar cualquier controlador de la versión v2.14 y posteriores, su MongoDB Server debe ser v3.6 o posterior.

Para saber cómo actualizar su implementación de MongoDB Server, consulte las Notas de la versión en el manual de MongoDB Server.

Volver

Compatibilidad

En esta página