Question

Solution
- WorkflowProject
& nbsp; & nbsp; - Workflow1
& nbsp; & nbsp; - Workflow2
- WebProject (WAP)
& nbsp; & nbsp; - App_Data
& nbsp; & nbsp; & nbsp; & nbsp; - MyDatabase.vdb3
& nbsp; & nbsp; - MyWebService.asmx
& nbsp; & nbsp; - Web.Config

Ok, alors… c’est la "base" générale du projet. La base de données, stockée sur le site Web, est une base de données VistaDB (il peut également s'agir d'une base de données MSAccess ou SQLite). Sur le site Web, je pourrais coder contre la base de données. Je pourrais avoir | DataDirectory | dans ma chaîne de connexion.

Le projet WORKFLOW est distinct du site Web. MyWebService.asmx est un "stub". pour appeler le service Web basé sur le flux de travail.

Comment puis-je ouvrir la base de données dans le répertoire du site Web App_Data ? À l’heure actuelle, j’ai la valeur codée en dur (c.-à-d. @ "E: \ datadirectory \ database.vdb3"), mais cela n’est pas préférable et ne fonctionne que sur ma machine de développement.

Je ne peux même pas indiquer l'emplacement de la base de données, car le service Web (le fichier .asmx) ne comporte qu'une ligne et constitue un code de raccord permettant de faire entrer l'appelant dans le flux de travail. Je ne sais vraiment pas comment procéder.

Solution? Les meilleures pratiques ? Liens?

Était-ce utile?

La solution 2

Je n’ai pas pu faire fonctionner VirtualPathUtility. Voici la solution que j'ai trouvée et qui a fonctionné:

string s = AppDomain.CurrentDomain.GetData("DataDirectory") as string;

Cela donne le chemin absolu du répertoire App_Data.

Autres conseils

Vous devriez jeter un coup d'œil à VirtualPathUtility "

remplace le résultat de:

VirtualPathUtility.ToAbsolute("~/App_Data/db.vdb3");

dans votre chaîne de connexion.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top