您的位置:首页 > 其它

silverlight 读取wcf服务 读取宿主端的config 良好的方法

2013-11-04 16:22 344 查看
在开发当中遇到很头疼的事情,就是每当要改动地图的服务的IP地址时,还要重新打开silverlight项目源代码,修改后重新编译,么么,这种是让人折磨呀。今天一天寻找方法,总算是解决了这个问题。

一、silverlight 读取wcf服务

  1)在宿主端(也就是web端)添加(准备)wcf服务(service2.svc),其代码内容如下:

WebClient client = new WebClient();
String myURL = App.Current.Host.Source.ToString();
myURL = myURL.Substring(0, myURL.LastIndexOf('/'));
Uri uri = new Uri(myURL + "/Config.xml", UriKind.RelativeOrAbsolute);
client.OpenReadAsync(uri);

client.OpenReadCompleted += (s, e) =>
{
XmlReaderSettings settings = new XmlReaderSettings();
settings.DtdProcessing = DtdProcessing.Parse;

Stream ss = e.Result;
using (XmlReader xr = XmlReader.Create(ss, settings))
{
xr.ReadToFollowing("baselayer");
baselayer.myLayer= xr.ReadElementContentAsString();
}

};


View Code
  4)然后在要引用此资源的xaml页面的后台中用this.Resources.Add("mylayer1", baselayer.myLayer)方法来作为此页面的源;

  5)然后在页面中引用,如下方法:

   <esri:ArcGISTiledMapServiceLayer ID="baserMap" Url="{StaticResource mylayer1}"/>

由此,大功告成。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: