2016-07-25 6 views
0

クライアント用の基幹業務アプリケーションを開発中です。クライアントは、使用予定のデバイスを指定しました(Windows 8.1の一部のDellタブレット)。開発がほぼ完了し、アプリケーションの最初の段階をリリースする準備が整ったので、クライアントは彼らの心が変わったことを知らせ、DellのタブレットはすべてWindows 10を実行します。私は開発に使用したタブレットを1つアップグレードしましたWindows 10にもテストしています。タブレットは、RESTful Web APIを使用して、リポジトリに格納されたデータにアクセスします。明らかに、アプリケーションがリポジトリからデータを取得する前に、Web APIのURLをアプリの設定で構成する必要があります。 それで、私はタブレットでアプリをサイドロードするためにApp Packageを作成します。インストールは正常に動作し、アプリは初めて正常に起動します。私は設定に入り、URLを設定してアプリケーションを閉じます。 再起動しようとすると、スプラッシュ画面が表示されてアプリが停止します。設定にアクセスしようとすると、その時点で自分のアプリの設定が利用できないことが通知されます。この問題を解決する唯一の方法は、アプリをアンインストールしてもう一度再インストールすることです。Windows 10でのローカル設定へのアクセス

これは私が設定を保存し、取得するために使用したコードです:私が気づい

public void SaveSetting<T>(string settingName, T value) 
    { 
    ApplicationData.Current.LocalSettings.Values[settingName] = value; 
    } 

    public T GetSetting<T>(string settingName) 
    { 
    var localSettings = ApplicationData.Current.LocalSettings.Values; 

    if (localSettings.ContainsKey(settingName)) 
    { 
     var value = localSettings[settingName]; 

     if (value is T) 
     { 
      return (T)value; 
     } 
    } 
    // else, in all other cases 
    return default(T); 
    } 

興味深いのは、時々、私は設定で保存しようとするものに応じて、アプリが起動していることです。たとえば、私はそれを試していて、正しいURLの代わりにいくつかのガベージを保存しようとしました。だから "http://x.x.x.x:nnnnn"の代わりに "a"を保存しました。アプリが正しく起動したが、スプラッシュ画面を過ぎてしまったが、明らかにデータを取得できなかった。

正確に何が起こっているかに関するアイデアはありますか?ローカル設定のアクセス方法がWindows 10で変更されましたか?

私はこの数日間、私の頭を掻き回してきました。当初、ローカル設定ファイルを作成するのは許可の問題だと思ったので、私はそのような観点からソリューションを見つけるために多くのエネルギーを費やしました。しかし、私が言ったように、私は設定にいくつかのゴミをダンプすると、それは動作するので、許可の問題ではありません。 "x.x.x.x"のようなIPアドレスは文字列とは別の方法で保存する必要がありますか?

アドバイスをいただければ幸いです。

TIA、 エディ

+0

私はアプリケーションにいくつかのロギングを追加した後、私はそのアプリが設定を読むのに問題がないことを証明することができました。それはそれがうまくいかなかったと彼らがしたことです。設定から読み込まれたURLは正しいものの、アプリケーションがWeb APIを呼び出しようとしたときに呼び出しが例外をスローし、アプリケーションが機能しなくなりました。このフォーラムの管理者の1人はこの質問を閉じることができますか?ありがとう、エディ – Eddie

答えて

0

私は自分のアプリケーションにいくつかのログを追加した後、私はアプリは、設定を読んで何の問題もなかったことを証明することができました。それはそれがうまくいかなかったと彼らがしたことです。設定から読み込まれたURLは正しいものの、アプリケーションがWeb APIを呼び出しようとしたときに呼び出しが例外をスローし、アプリケーションが機能しなくなりました。だからこれは最初の質問ではないはずです。 ありがとう、Eddie

関連する問題