2008-10-30 56 views
2

解决方案
- WorkflowProject
    - Workflow1
    - Workflow2
- WebProject(WAP)
    - 程序App_Data
        - MyDatabase.vdb3
    - MyWebService.asmx
   Windows工作流 - Web服务 - App_Data目录 - 数据库

好的,所以..这是项目的基本“轮廓”。 数据库存储在网站上,是一个VistaDB数据库(也可以是MSAccess或SQLite数据库)。在网站上,我可以对数据库进行编码。我可能有| DataDirectory |在我的连接字符串中。

工作流项目与网站是分开的。 MyWebService.asmx是调用基于工作流的Web服务的“存根”。

如何做我的网站的App_Data 目录打开数据库?现在,我有硬编码的值(即@“E:\ datadirectory \ database.vdb3”),但这不是首选,只能在我的开发机器上工作。

因为webservice(.asmx文件)只有一行,并且是调用者进入工作流的存根代码,所以我甚至无法传入数据库的位置。如何继续,我真的很茫然。

解决方案?最佳实践?链接?

回答

1

我无法使VirtualPathUtility正常工作。以下是我最终找到的解决方案:

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

获得App_Data目录的绝对路径。

+0

我很想知道您使用VirtualPathUtility的代码,以及您收到的错误,仅供我自己的启示。 – 2008-11-20 13:40:55

1

你应该看看 “VirtualPathUtility

替代的结果:

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

到您的连接字符串。