Windowsワークフロー-Webサービス-App_Dataディレクトリ-データベース
-
05-07-2019 - |
質問
ソリューション
-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")が、これは推奨されておらず、開発マシンでのみ動作します。
データベースの場所を渡すことさえできません。なぜなら、webservice(.asmxファイル)はたった1行であり、呼び出し元をワークフローに入れるためのスタブコードだからです。どうすればいいのか迷っています。
ソリューション?ベストプラクティス ?リンク?
解決 2
VirtualPathUtilityを機能させることができませんでした。私が見つけた解決策は次のとおりです:
string s = AppDomain.CurrentDomain.GetData("DataDirectory") as string;
App_Dataディレクトリへの絶対パスを取得します。
他のヒント
" VirtualPathUtility "
次の結果を代入:
VirtualPathUtility.ToAbsolute("~/App_Data/db.vdb3");
接続文字列に。