Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
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, realiza las siguientes acciones:

  • Asegúrate de que la nueva versión sea compatible con las versiones del MongoDB Server a las que se conecta tu aplicación y con la versión de .NET framework en la que se ejecuta tu aplicación. Vea la .NET/C# Driver Compatibility página para esta información.

  • Abordar cualquier cambio disruptivo entre la versión actual del driver que utiliza su aplicación y la versión de actualización planificada en la sección Cambios disruptivos. Para aprender más sobre los cambios de compatibilidad con la liberación del MongoDB Server, consulta la sección Cambios de compatibilidad con la liberación del servidor.

Tip

Para minimizar el número de cambios que su aplicación pueda requerir al actualizar las versiones de los drivers en el futuro, utilice el Stable API.

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 disruptivos en esta sección se categorizan por la versión del driver que los introdujo. Al actualizar versiones del driver, resuelve todos los cambios disruptivos entre la versión actual y las versiones actualizadas. Por ejemplo, si estás actualizando el driver de v2.0 a v2.20, aborda todos los cambios disruptivos desde la versión posterior a v2.0 incluyendo los enumerados bajo v2.20.

  • 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 función de Render los métodos en los desarrolladores de búsqueda de MongoDB cambiaron. El siguiente snippet 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 sobre ObjectSerializer, visita las Preguntas frecuentes. Para obtener más información sobre DefaultAllowedTypes, visita la Documentación de la API.

  • El LinqProvider por defecto se ha cambiado a LINQ3. El LinqProvider puede configurarse 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 de MongoDB .NET/C# Driver eliminó el soporte para la .NET framework v4.5.2 o anterior; el mínimo .NET framework 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.

  • La opción de cadena de conexión slave0k se eliminó; ahora se utiliza la opción readPreference.

Un cambio en la compatibilidad de la versión de lanzamiento del servidor es una modificación del driver MongoDB .NET/C# que descontinúa el soporte para un conjunto de versiones del servidor MongoDB.

El driver interrumpe el soporte para una versión de MongoDB Server después de que esta llegue a su final de 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 aprender más sobre la compatibilidad entre las versiones del driver .NET/C# y las versiones de MongoDB Server, visita 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 aprender a actualizar tu implementación de MongoDB Server, consulta notas de versión en el manual de MongoDB Server.

Volver

Compatibilidad

En esta página