5

我对网络开发相当陌生。我正处于部署点(用于测试)。我有几个地方(可能是 4 个地方)我必须添加一个与应用程序无关的 URI。所以现在,在部署时,那些需要改变。

有没有一种巧妙的方法来处理这个问题?光滑我的意思是不要手动浏览应用程序并更改 URI 或一揽子查找和替换(太冒险了)。我现在只有 4 个地方要更改,但这很容易更改并导致部署问题。

我正在使用 Microsoft 技术堆栈。Silverlight、ASP.NET、RIA 等。开发在 Visual Studio 2010 中完成。

我注意到 web 项目对 web.config 有一个漂亮的转换......这很好。Silverlight资源是否有等效机制?还有其他方法吗?

有什么想法吗?

4

3 回答 3

1

一种方法是将参数从托管网页传递给 Silverlight 应用程序。

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

并从您的 Silverlight 应用程序(App.xaml.cs,Application_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 文件中……而且效果非常好。

请参阅随机解决方案。 它不是选定的解决方案,但它比我见过的任何其他解决方案都要好得多。

于 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 回答