5

私はWeb開発にかなり慣れていません。私は(テストのために)展開の段階にいます。アプリケーションに非相対的なURIを追加しなければならなかった場所がいくつかあります(おそらく4か所)。したがって、展開時に、これらを変更する必要があります。

これをうまく処理する方法はありますか?スリックとは、手動でアプリを調べたり、URIを変更したり、包括的に検索して置き換えたりしないことを意味します(リスクが高すぎます)。現在変更できる場所は4つだけですが、これは簡単に変更され、展開の問題が発生する可能性があります。

Microsoftテクノロジスタックを使用しています。Silverlight、ASP.NET、RIAなど。開発はVisualStudio2010で行われます。

私は、Webプロジェクトがweb.configに対して気の利いた変換を行っていることに気づきました...これは素晴らしいことです。Silverlightリソースに相当するメカニズムはありますか?他の方法はありますか?

何かご意見は?

4

3 に答える 3

1

1つの方法は、ホスティングWebページからSilverlightアプリケーションにパラメーターを渡すことです。

<object ....>
... 
<param name="initParams" value="prm1=http://google.com,prm2=http://bing.com" />
...
</object>

そして、Silverlightアプリからのアクセス(App.xaml.csApplication_Startupメソッド):

foreach (var item in e.Initparams)
{
  this.Resources.Add(item.Key, item.Value);
}

パラメータにアクセスします。

var prm1 = App.Current.Resources["prm1"].ToString();
于 2012-04-10T16:18:20.177 に答える
1

MSの組み込みの変換メカニズムをサービス参照に使用することに関するスタックオーバーフローに関するこの投稿を見つけました。しかし実際には...これはどのXMLファイルでも一般的です。つまり、いくつかの設定を保持しているカスタムXMLファイルに同じ概念を適用することができました...そしてそれは見事に機能しました。

Randomsソリューションを参照してください。 これは選択されたソリューションではありませんが、私が見た他のどのソリューションよりもはるかに優れています。

于 2012-04-11T03:31:06.280 に答える
0

あまりきれいではありませんが、DEBUG定義(デフォルトではデバッグモードビルドで定義されています)を確認できます。

#if (DEBUG)
    myUrl = "http://www.google.com";
#else
    myUrl = "http://www.bing.com";
#endif
于 2012-04-10T17:26:25.840 に答える