如果开发时的WCF service和部署时的WCF service地址不一样,就需要每次部署时手动修改.xap包中的这个文件,比较麻烦而且容易出错。
一个解决办法是把Service的地址放到web.config中,变成可配置的。然后在调用Siverlight的aspx或者html中通过initParms传给Silvergliht。下面是示例代码:
aspx文件中:
<param name="initParams" value="wcfServiceUrl=<%=ConfigurationManager.AppSettings["WCFServiceAddress"] %> " />
Silverlight文件初始化WCF Service是不用默认的构造函数,用这种方式:
BasicHttpBinding binding = new BasicHttpBinding(BasicHttpSecurityMode.None);
binding.MaxReceivedMessageSize = int.MaxValue;
binding.MaxBufferSize = int.MaxValue;
ServiceClient sc = new ServiceClient(binding, new EndpointAddress(new Uri(wcfServiceUrl)));
![](http://img.zemanta.com/pixy.gif?x-id=14aef7fd-8956-8b41-9b31-3814eb676bdc)