我是网络开发的新手。我正处于部署阶段(用于测试)。我有几个地方(可能是4个地方),我必须在应用程序中添加一个非相对的URI。所以现在,在部署时,需要对其进行更改。
有没有一种灵活的处理方式?通过光滑我的意思是不手动通过应用程序并更改URI或一揽子查找和替换(风险太大)。我现在只有4个地方需要更改,但这很容易改变并导致部署问题。
我正在使用Microsoft技术堆栈。 Silverlight,ASP.NET,RIA等。开发在Visual Studio 2010中完成。
我注意到web项目对web.config有一个很好的转换......这很好。 Silverlight资源是否有相同的机制?还有其他方法吗?
有什么想法吗?
答案 0 :(得分: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();
答案 1 :(得分:1)
我刚刚发现this post on stack overflow关于使用MS的内置转换机制进行服务引用。但实际上......它对任何XML文件都是通用的。这意味着我能够将相同的概念应用于我的自定义XML文件,该文件包含一些设置......并且它工作得非常出色。
请参阅Randoms解决方案。这不是所选择的解决方案,但它比我见过的任何其他解决方案都要好得多。
答案 2 :(得分:0)
它不太漂亮,但您可以检查DEBUG定义(默认情况下在调试模式下定义):
#if (DEBUG)
myUrl = "http://www.google.com";
#else
myUrl = "http://www.bing.com";
#endif