Рабочий процесс Windows — веб-служба — каталог App_Data — база данных
-
05-07-2019 - |
Вопрос
Решение
--Проект рабочего процесса
-- Рабочий процесс1
-- Рабочий процесс2
-- Веб-проект (WAP)
-- Данные приложения
-- Моябаза данных.vdb3
-- MyWebService.asmx
-- Веб.Конфигурация
Итак..это основная «схема» проекта.База данных хранится на веб-сайте и представляет собой базу данных VistaDB (это также может быть база данных MSAccess или SQLite).На веб-сайте я мог бы написать код для базы данных.Я мог бы иметь | DataDirectory | в моей строке подключения.
Проект WORKFLOW отделен от Веб-сайта.MyWebService.asmx — это «заглушка» для вызова веб-службы на основе рабочего процесса.
Как открыть базу данных на сайте Данные приложения каталог?Прямо сейчас у меня есть жестко запрограммированное значение (т. е. @"E:\datadirectory\database.vdb3"), но это нежелательно и будет работать только на моей машине разработки.
Я даже не могу указать местоположение базы данных, поскольку веб-сервис (файл .asmx) состоит всего из 1 строки и представляет собой код-заглушку для включения вызывающего абонента в рабочий процесс.Я действительно в растерянности, как поступить.
Решение ?Лучшие практики ?Ссылки?
Решение 2
Мне не удалось заставить VirtualPathUtility работать.Вот решение, которое я нашел и которое сработало:
string s = AppDomain.CurrentDomain.GetData("DataDirectory") as string;
Это дает абсолютный путь к каталогу App_Data.
Другие советы
Вам стоит взглянуть на "Утилита VirtualPath"
заменить результат:
VirtualPathUtility.ToAbsolute("~/App_Data/db.vdb3");
в строку подключения.