2

ソリューション
-- WorkflowProject
  -- Workflow1
  -- Workflow2 -- WebProject
(WAP)
  -- App_Data
    -- MyDatabase.vdb3
  -- MyWebService.asmx
  -- Web.Config

わかりました..それがプロジェクトの基本的な「概要」です。このデータベースは Web サイトに保存されており、VistaDB データベースです (これは MSAccess または SQLite データベースの場合もあります)。Web サイトでは、データベースに対してコーディングできました。|DataDirectory| があるかもしれません 私の接続文字列で。

WORKFLOW プロジェクトは Web サイトとは別のものです。MyWebService.asmx は、ワークフロー ベースの Web サービスを呼び出すための「スタブ」です。

Web サイトのApp_Dataディレクトリにあるデータベースを開くにはどうすればよいですか? 現在、値をハードコーディングしています (つまり、@"E:\datadirectory\database.vdb3") が、これは好ましくなく、私の開発マシンでのみ機能します。

Web サービス (.asmx ファイル) は 1 行しかなく、呼び出し元をワークフローに入れるためのスタブ コードであるため、データベースの場所を渡すことさえできません。どのように進めていけばよいのか、本当に困っています。

解決 ?ベストプラクティス ?リンク?

4

2 に答える 2

1

VirtualPathUtilityを機能させることができませんでした。これが私がうまくいったと思った解決策です:

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

これにより、App_Dataディレクトリへの絶対パスが取得されます。

于 2008-11-12T16:50:06.343 に答える
1

「 VirtualPathUtility」を見てください。

次の結果を代入します。

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

接続文字列に。

于 2008-10-30T00:46:53.880 に答える