Domanda

Soluzione
- 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, quindi .. questo è il "contorno" di base " del progetto. Il database, è archiviato nel sito Web ed è un database VistaDB (potrebbe anche essere un database MSAccess o SQLite). Nel sito Web, ho potuto codificare contro il database. Potrei avere | DataDirectory | nella mia stringa di connessione.

Il progetto WORKFLOW è separato dal sito Web. MyWebService.asmx è un "stub" per aver chiamato il servizio Web basato sul flusso di lavoro.

Come posso aprire il database nella directory del sito App_Data ? In questo momento, ho il valore hardcoded (ovvero @ " E: \ datadirectory \ database.vdb3 "), ma questo non è preferito e funzionerebbe solo sulla mia macchina di sviluppo.

Non riesco nemmeno a passare la posizione del database, poiché il servizio web (il file .asmx) è solo 1 riga ed è un codice stub per far entrare il chiamante nel flusso di lavoro. Sono davvero a corto di come procedere.

Soluzione? Migliori pratiche ? Link?

È stato utile?

Soluzione 2

Non sono riuscito a far funzionare VirtualPathUtility. Ecco la soluzione che ho scoperto che ha funzionato:

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

Questo ottiene il percorso assoluto della directory App_Data.

Altri suggerimenti

Dovresti dare un'occhiata a " VirtualPathUtility "

sostituisce il risultato di:

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

nella stringa di connessione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top