2010-11-15 9 views
1

Salut, je travaille sur asp.net mvc app maintenant. Je veux mettre toute la logique db à mon mydbprovider.dlldifférent fournisseur db sans recompiler ma dll

Le problème est dans la conception, comment puis-je changer seulement le nom du fournisseur DB dans mon web.config sans recompiler ma propre DLL? Je vais utiliser ces fournisseurs .net comme (oracle, MSSQL, postrgree)

Merci et désolé pour mon mauvais anglais

Répondre

0

dès que vous changez le web.config puis le appdomain du site redémarre. Ceci est inévitable et ne se produit que dans les scénarios suivants:

  • Changement de web.config
  • changement dans le dossier bin
  • Trigger de numRecompilesBeforeAppRestart

ce que vous devez faire pour être en mesure échanger des couches dal facilement est de programmer des interfaces. Il y aura une interface qui implémente avec les méthodes correctes que vous voulez utiliser et ensuite n'importe quelle couche dal associée (mysql, sqlserver, oracle) implémentera ces méthodes

espérons que cela signifiera que vous n'êtes pas lié à une implémentation spécifique de a dal

paul

+0

Merci, je comprends que je dois arrêter iis. Je veux juste savoir quelle est la meilleure pratique quand vous avez besoin de nombreux fournisseurs sans changement code dll –

+2

Deux mots: "Injection de dépendance". – RPM1984

+0

100% d'accord avec @ RPM1984 - ma compréhension de la question était incorrecte :( – stack72

Questions connexes