問題タブ [isolatedstorage]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net - IIS サーバーでの IsolatedStorage の使用
IIS サーバーでの分離ストレージの使用について少し混乱しています。
私は、 Isolated Storageの目標を理解しています: データを安全に保管する場所を提供し、この場所がどのように、どこにあるかを心配する必要はありません。
分離ストレージにはユーザー単位およびアセンブリ単位のアプローチがあるため、アプリケーションがほぼ独自の ID を持つ IIS サーバーで使用することに、私はあまり積極的ではありません。私は Web アプリケーションを偽装することに興味を持ったことがなく、自分自身が偽装された Web アプリケーションを見たことはほとんどありませんが、これが私の見解です。
サーバーでの分離ストレージの使用( Windows Server 2003 の場合):
での分離ストアの使用
\Documents and Settings\<user>\
これは、アプリケーション プールがローカル システムまたはネットワーク サービス
\Documents and Settings\Default User\
によって所有されている場合を意味します。これは、ローカル システムまたはネットワーク サービスのこのフォルダーに対する書き込み権限も意味します。
なりすましの使用
Web アプリケーション (ロジック) に関して、これらのアイデアは私を混乱させます... ドキュメントと設定 ? デフォルトのユーザー? ストレージのためだけに偽装を有効にしますか? サーバー上のストレージを制御できませんか? え?
MSDN のいくつかのポイント:
サーバーストレージ。サーバー アプリケーションは、分離ストレージを使用して個々のストアを提供できます [...]。分離ストレージは常にユーザーごとに分離されるため、サーバーは要求を行っているユーザーを偽装する必要があります。[...]
分離ストレージを使用すると、部分的に信頼されたアプリケーションが、コンピューターのセキュリティ ポリシーによって制御される方法でデータを格納できるようになります。
既定では、ローカル コンピューター、ローカル ネットワーク、[...] から実行されるコードには、分離ストレージを使用する権利が付与されます。ネットワーク サービスを理解する必要がありますか? 私は驚くだろう。私の IIS サーバー (Windows 2003) ではそうではありません。
そして、私はジレマの前に立っています: System.IO.Packaging
Web アプリケーションで (内部に分離ストレージを使用して) 使用するか、代替手段を見つけますか? IO.Packaging
分離ストレージを有効にする必要があることを意味しますか?
私のアプローチは間違っていますか?私は何か見落としてますか ?
特にIISサーバーで使用/有効にしたくないのは正確です。そのような環境で有効にすることが良い方法であるかどうかを理解したいと思います。
どのような観点からも歓迎され、「IIS の哲学を備えた分離ストレージ」についての説明は答えになる可能性があります。
ありがとう !
c# - どのようにしてIsolatedStorage内のすべてのファイルのフラットリストを取得しますか?
特定のIsolatedStorageフォルダー内のすべてのファイルのリストを取得する必要があります。IsolatedStorageのルートから離れたサブフォルダーがあり、これらをリストに含める必要があります。
通常のSystem.IOクラスは、IsolatedStorageでは使用できません。
c# - Silverlight は、分離ストレージをデータベースと同期します
Silverlight の分離ストレージ格納を使用すると、インターネットに接続せずにユーザーデータをローカルに格納する方法を提供できるため、dbdata と Silverlight の分離ストレージデータをインテリジェントに同期することについてのあなたの考えを聞きたいです。
現在、解決策を実装していますが、少し複雑に思えるので、別の方法で実行できたかどうかを知りたいです。
isostore に保存する documentobjects のリストがあります。
ドキュメントには、同期に不可欠な (datetime)DateModified および (bool)DeleteOnSync プロパティがあります。ユーザーがインターネットに接続すると、アプリはデータベースに保存されているドキュメントのリストを isostore のリストと照合し、2 つのリストを 1 つに結合します (2 つのオブジェクトが ID を共有する場合) 最新のドキュメント (最新の DateModified) が選択されます。リストが結合されると、「DeleteOnSync」のルックアップが行われ、このプロパティが true に設定されたドキュメントが db と isostore の両方から削除されます。次に、この新しいリストを db と isostore の両方に保存します。
これは理にかなっていますか?
c# - domaincontextの競合のため、isostorageリストを変更できません
私の問題は、ユーザーがローカルで変更できるように、エンティティのリストを分離ストレージに保存していることです。ユーザーがオンラインで変更を行う場合は、変更をローカルと外部の両方でデータベースに保存する必要があります。これは問題です。エンティティが「すでに別のEntityContainerにアタッチされているため、このEntityContainerにアタッチできません」というエラーが表示されるためです。
基本的に、isolatedstorageに保存しているのは、ListタイプのNodesプロパティを持つListです。次に、データフォームの保存イベント(ユーザーがOOBでネットワークを持っている場合)で、両方のデータをサーバーに保存してから、isostoreからリストを取得します。適切なルートオブジェクトを見つけてからRoot.Nodes.Add((Node)DataForm.CurrentItem)を実行すると、エラーが発生します。どうすればこれを回避できますか?
silverlight - Silverlight 4.0 で分離ストレージからディレクトリを削除するにはどうすればよいですか?
テキスト ファイルとその親ディレクトリを削除する必要があるコードのスニペットがあります。
...ここで、logPath + "\" + logFileName は次のようになります: "Logs\log.txt"
これを実行すると、ディレクトリを作成できず、消去できないという例外が発生します。これがなぜなのか誰か知っていますか?
ありがとう、
スコット
asp.net - 分離ストレージ Web サービスの既定のユーザー プロファイルでのファイルの保存
私の問題は次のとおりです。
現在のユーザーの分離ストレージにファイルを保存する Windows アプリケーションがあります。このユーザーを Adam と呼びましょう。
同じマシンに、同じ dll を使用して分離ストレージ上のファイルにアクセスする Web サービス (Web サービスのアプリケーション プールは Adam の資格情報で実行されています) がありますが、既定のユーザーのプロファイルではなく、既定のユーザーのプロファイルにあるファイルにアクセスしようとしています。実際のユーザーのプロファイル (この場合は Adams プロファイル)
Adam のプロファイルではなく、Default User のプロファイルでファイルを検索しようとするのはなぜですか? 正しいプロファイルでファイルを探すにはどうすればよいですか?
Win 2003、C#、.Net Framework 3.5 で実行しています。
ありがとう。
silverlight - Silverlight 4 - ユーザー設定を分離ストレージに永続化する
完全な .NET プラットフォームには、設定ファイルにユーザー オプションを格納する優れた機能があり、保存と読み込みを便利にサポートします。Silverlight 用にこれに類似したものを作成した人はいますか? 設定をクライアント側に保存したいと思います。
c# - IsolatedStorageBackingStoreにアクセスする際のHRESULT0X80131468の原因
私が直面しているシナリオは、永続化された状態変数を格納するためにCacheManager /IsolatedStorageストアを使用しているW2k3サーバーでASP.NETWebサービス(.NET 3.5)を実行していることです。この構成は、物理マシンを変更するまで、かなり長い間正常に機能していました。これで、その値にアクセスするコードが実行されるたびに、IsolatedStorageExceptionがスローされます(以下に投稿)。私が理解しているように、ユーザー/アセンブリストアはアクセスされているものであり、実行中のユーザーはローカル管理者グループのメンバーです。どの特権が欠けているかについて誰かが提案を持っていますか?
エラー
ストアディレクトリを作成できません。(HRESULTからの例外:0x80131468)
スタックトレース
タイプ:Microsoft.Practices.ObjectBuilder2.BuildFailedException。エラー:現在のビルド操作(ビルドキービルドキー[Microsoft.Practices.EnterpriseLibrary.Caching.ICacheManager、キャッシュマネージャー])が失敗しました:ストアディレクトリを作成できません。(HRESULTからの例外:0x80131468)(ストラテジータイプConfiguredObjectStrategy、インデックス2)。トレース:Microsoft.Practices.ObjectBuilder2.ExecuteBuildUp(IBuilderContext context)、Microsoft.Practices.ObjectBuilder2.Builder.BuildUp(IReadWriteLocatorロケーター、ILifetimeContainerライフタイム、IPolicyListポリシー、IStrategyChain戦略、オブジェクトbuildKey、オブジェクト既存)。 MicrosoftのObjectBuilder2.Builder.BuildUp[TTypeToBuild](IReadWriteLocatorロケーター、ILifetimeContainerライフタイム、IPolicyListポリシー、IStrategyChain戦略、オブジェクトbuildKey、既存のオブジェクト)。1.CreateDefault()
at Microsoft.Practices.EnterpriseLibrary.Caching.CacheFactory.GetCacheManager()
at Ept.Commands.SettlementCommand.BeginSettlement() in c:\Projects\EPT\Ept.Framework.Services\Commands\SettlementCommand.cs:line 102
at Ept.Commands.SettlementCommand.ExecuteKernel(SettlementRequest request) in c:\Projects\EPT\Ept.Framework.Services\Commands\SettlementCommand.cs:line 188
at Ept.Command
2. c:\ Projects \ EPT \ Ept.Framework.Services \ Commands \ Command.cs:line 79のExecute(TRequest request)。ExecutingStrategyTypeName:ConfiguredObjectStrategy ExecutingStrategyIndex:2 BuildKey:Build Key [Microsoft.Practices.EnterpriseLibrary.Caching.ICacheManager 、キャッシュマネージャー]タイプ:System.IO.IsolatedStorage.IsolatedStorageException。エラー:ストアディレクトリを作成できません。(HRESULTからの例外:0x80131468)。トレース:System.IO.IsolatedStorage.IsolatedStorageFile.GetRootDir(IsolatedStorageScopeスコープ)at System.IO.IsolatedStorage.InitGlobalsNonRoamingUser(IsolatedStorageScopeスコープ)at System.IO.IsolatedStorage.IsolatedStorageFile.GetRootDir(IsolatedStorageScopeスコープ)at System.IO.I System.IO.IsolatedStorageの.IsolatedStorageFile.GetGlobalFileIOPerm(IsolatedStorageScopeスコープ)。2.Create(IBuilderContext context, TConfiguration objectConfiguration, IConfigurationSource configurationSource, ConfigurationReflectionCache reflectionCache)
at Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ObjectBuilder.AssemblerBasedCustomFactory
2.Microsoft.Practices.EnterpriseLibrary.EnterpriseLibraryでMicrosoft.Practices.EnterpriseLibrary.Caching.Configuration.CacheManagerAssembler.Assemble(IBuilderContext context、CacheManagerDataBase objectConfiguration、IConfigurationSource configurationSource、ConfigurationReflectionCache ReflectionCache)でCreate(IBuilderContext context、String name、IConfigurationSource configurationSource、ConfigurationReflectionCachereflectionCache)。 Common.Configuration.ObjectBuilder.AssemblerBasedObjectFactory2.Create(IBuilderContext context, TConfiguration objectConfiguration, IConfigurationSource configurationSource, ConfigurationReflectionCache reflectionCache)
at Microsoft.Practices.EnterpriseLibrary.Caching.CacheManagerCustomFactory.Create(IBuilderContext context, CacheManagerDataBase objectConfiguration, IConfigurationSource configurationSource, ConfigurationReflectionCache reflectionCache)
at Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ObjectBuilder.AssemblerBasedCustomFactory
2.MicrosoftのMicrosoft.Practices.EnterpriseLibrary.Common.Configuration.ObjectBuilder.AssemblerBasedCustomFactory`2.CreateObject(IBuilderContextコンテキスト、文字列名、IConfigurationSource configurationSource、ConfigurationReflectionCache ReflectionCache)でCreate(IBuilderContextコンテキスト、文字列名、IConfigurationSource configurationSource、ConfigurationReflectionCache ReflectionCache)。 Microsoft.Practices.ObjectBuilder2.StrategyChain.ExecuteBuildUp(IBuilderContextコンテキスト)のPractices.EnterpriseLibrary.Common.Configuration.ObjectBuilder.ConfiguredObjectStrategy.PreBuildUp(IBuilderContextコンテキスト)。
silverlight - 分離ストレージエラー
分離されたストレージを使用するWindowsPhone7アプリケーションを構築しています。コードはほとんどの場合機能しますが、IsolatedStorageExceptionsをランダムに取得し続けます。
ファイルが存在します。すべてのIsolatedStorageの使用をブロックを使用して内部に配置するため、ファイルをどこにも開かないようにする必要があります。
これを引き起こしている可能性がありますか?
例外の原因に関する詳細を取得するにはどうすればよいですか?
c# - クライアントアプリケーションのロード時間を短縮するために、頻繁に変更されないデータをキャッシュして、分離ストレージを適切に使用していますか?
私はSilverlightを使用したエンタープライズアプリケーションの書き直しに取り組んでいます。プロジェクトはまだ開発の初期段階にありますが、サーバーからいくつかのビジネスオブジェクトのセットをプルするため、アプリケーションの開始時に大量の初期データ負荷が発生します。これらのデータセットの一部は、ユーザーが設定すると変更されることはめったにありません。ユーザーが使用しているすべてのカスタマイズされたデータ型のリストのように。
このような場合は、データオブジェクトを(おそらくシリアル化された形式で)分離ストレージにキャッシュすることを目的としているため、最初のアプリケーションのロード後にサーバーへの非同期呼び出しでデータを取得するのを待つ必要はありません。
分離ストレージは、ユーザー設定などの構成データを保存したり、ブラウザー内バージョンとブラウザー外バージョンのアプリで共有したりすることを目的としています...Cookieストアのように機能します。
私の主な懸念は、分離ストレージがどれほど安全であるかわからないことであり、アプリケーションデータをキャッシュすることを信頼していません。公平を期すために、ユーザーはSilverlight.xapファイルにもアクセスできます。
これは分離ストレージの適切な使用法ですか、なぜまたはなぜそうではありませんか?