de-vraag
  • 質問
  • タグ
  • ユーザー
通知:
報酬:
登録
登録すると、質問に対する返答やコメントが通知されます。
ログイン
すでにアカウントをお持ちの方は、ログインして新しい通知を確認してください。
追加された質問、回答、コメントには報酬があります。
さらに
ソース
編集
appa  yip yip
appa yip yip
質問

アプリケーションと一緒にデプロイするための読み取り専用データをどのように格納すればよいですか

私はデスクトップアプリケーションを開発しています、そしてこのアプリケーションは実行するためにいくらかの情報を必要とします、しかしそれはこの情報のいずれも変更しませんは変更されていません)。データはアプリが実行されているのと同じコンピューターに保存されている必要があります(クライアント側のストレージ?)。

ユーザーがこの情報を簡単に変更できない場合も優れています(ITに関する知識があまりないと想定してください)。

このような情報をどのように格納すればよいですかローカルデータベース?アプリケーションと一緒に送信されるXML?

私はWPFを使っています。

17 2016-07-20T14:15:42+00:00 4
 reduckted
reduckted
編集された質問 20日 7月 2016 в 11:08
ソフトウェア工学
wpf
c#
data
design
Anup Chaudhary
20日 7月 2016 в 2:40
2016-07-20T14:40:07+00:00
さらに
ソース
編集
#85035466

If the data never changes and is read only, then just put it in a code file as a list of constants.

public readonly string AppStartUpData = "MyAppNeedsThis";

このデータが展開ごとに異なる場合は、外部ファイルで問題ありません。

.Netには組み込みの.configファイル(App.Config)が付属しています。それらから情報を読むための(フレームワークに組み込まれた)標準的な方法があるので、それらを使用するべきです。

設定はテキストファイル(Xml)なので、設定を変更する必要がない場合は(決して使用しないでください)、使用してください。機密情報がある場合は、必要に応じて設定を暗号化できます。

21
0
Gustavo Marcante
20日 7月 2016 в 3:12
2016-07-20T15:12:59+00:00
さらに
ソース
編集
#85035467

ファイルをプロジェクトにいつでも追加し、そのビルドタイプを Embedded Resource に設定して、アプリケーション自体に直接埋め込まれるようにすることができます。

あるいは、暗号化されてアクセス可能な場所に置かれているファイルです。

15
0
Matt Wilko
20日 7月 2016 в 2:24
2016-07-20T14:24:42+00:00
さらに
ソース
編集
#85035465

バイナリファイルは明白な答えでしょうが、それはあなたがそれをどのようにロードしているかに依存します - あなたがそうすることができればあなた自身も人生を楽にするかもしれません。

これを読むためのC#の組み込みメソッドがあるので、XMLは良い選択かもしれません。 チェックサムをデータに追加して、ユーザーが変更した場合にチェックサムが一致しなくなるようにすることができます(必要ですチェックサムが有効であることを確認するためのチェックを追加するため)

あなたがそれにアクセスすることができる必要があるあなたには他の依存関係があるのでローカルdbはより多くの問題を引き起こすかもしれません

14
0
Tulains Córdova
20日 7月 2016 в 2:22
2016-07-20T14:22:27+00:00
さらに
ソース
編集
#85035464

ユーザにデータを覗かせたくない場合は、バイナリデータファイルにシリアル化する必要があります。

唯一のアプリはそれから読むチャンクの長さを知っているでしょう。

C#はわかりませんが、Javaでは次のようにファイルを作成します。

FileOutputStream fos = new FileOutputStream(file);      
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(var1);
oos.writeObject(var2);
oos.writeObject(var3);
oos.writeObject(var4);

...そして彼らはこのように読みました:

FileInputStream fis = new FileInputStream(file);
ObjectInputStream ois = new ObjectInputStream(fis);
Object o[] = new Object[4];
o[0] = ois.readObject();
o[1] = ois.readObject();
o[2] = ois.readObject();
o[3] = ois.readObject();
6
0
質問の追加
カテゴリ
すべて
技術情報
文化・レクリエーション
生活・芸術
科学
プロフェッショナル
事業内容
ユーザー
すべて
新しい
人気
1
Денис Анненский
登録済み 2日前
2
365
登録済み 6日前
3
True Image
登録済み 1週間前
4
archana agarwal
登録済み 1週間前
5
Maxim Zhilyaev
登録済み 1週間前
© de-vraag :年
ソース
softwareengineering.stackexchange.com
ライセンス cc by-sa 3.0 帰属