0

検索して検索しましたが、特定の問題の解決策が見つかりません。複数のクライアントで使用されるコンソール アプリを更新しています。少なくとも現時点ではデータベースに情報を保存するよりも、クライアント情報を構成ファイルに保存することにしました。各クライアントには独自の構成ファイルがあります。「不明な」場所から構成ファイルをロードする方法を知る必要があります。私が見つけたすべての例では、ファイルのパスに入れる必要があります。コンピューターを使用している間はパスを知っていますが、他のサーバーにプッシュされると、ファイルへのパスが変更されます。

これらの条件下で作業している場合、ファイルへのパスを知らずにクライアントの構成ファイルをロードするにはどうすればよいですか?

編集: コンソール アプリは 1 つのサーバーでのみ実行されますが、さまざまなクライアントの Web サイトに移動してサイトをクロールするために使用されます。これが、各クライアントが独自の構成ファイルを持っている理由です。サイトを取得して使用するために必要な情報が含まれています。アプリが各クライアントをタイマーで実行するようにタスクを設定しました。

4

2 に答える 2

0

include ステートメントを使用して、別のファイルで使用されることを念頭に置いて、すべてのコードを作成するのはどうでしょうか。したがって、すべてのファイルは、構成ファイルの場所を定義することだけを目的としたラッパー ファイルに到達するまで、別のファイルで使用されます。アプリケーションは、常にこのようなラッパー ファイルを介して呼び出されます。このラッパー ファイルは、構成ファイルの場所を特定し、インクルード ファイルで使用できるようにするために必要なことは何でも行います。ユーザーがわかっている場合は、テーブルを検索できます。ここで重要な点は、コードをある環境から別の環境に移動しても、ラッパー ファイルは移動しないということです。ある環境から別の環境にコードを移動するたびにコードを編集したくないので、これは便利な機能だと思います。このアプローチのもう 1 つの利点は、すべての環境に適用できることです。非常に限られた環境でも。たとえば、コードを試すためのサンドボックスとして、フォルダーのみをプログラマーに提供するとします。このプログラマーは、/bin または /etc ディレクトリにアクセスできません。対照的に、この場合、提案されたアプローチは問題なく機能します。プログラマは、ローカル ラッパー ファイルの好きな場所に構成ファイルを設定できるからです。この問題はここで議論されています構成ファイルの場所を編集せずにコードを移動および更新できるように、コードを整理する方法は?

于 2015-01-25T20:18:32.373 に答える
0

すべてが bin フォルダーから読み取られていたので、プロパティを確認し、[出力ディレクトリにコピー] を [コピーしない] から [常にコピーする] に変更しました。これで、bin フォルダーに構成ファイルが配置されます。そして、この質問に対する答えは、構成ファイルを読む方向に私を導きました。

于 2013-10-23T20:07:26.607 に答える