1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > SILVERLIGHT访问WCF时通过WEB.CONFIG 指定服务器地址

SILVERLIGHT访问WCF时通过WEB.CONFIG 指定服务器地址

时间:2021-03-22 17:12:14

相关推荐

SILVERLIGHT访问WCF时通过WEB.CONFIG 指定服务器地址

在部署SILVERLIGHT站点时,需要能够修改WCF服务的地址,在网上搜索了多篇文章,程序改造成功。过程总结如下

1.在WEB.CONFIG中添加配置节点

<appSettings>

<add key ="WCFServiceAddress" value ="http://192.168.100.107/ProspectTaskWcfService/SilverLight_Service.svc"/>

</appSettings >

2.在host Silverilght 的aspx页面中添加<param name="initParams" vaule=""/>,添加完成后,如下所示:

<param name="source" value="ClientBin/Jurassic.ProspectTask.Web.Control.WorkPlan.xap"/>

<param name="onerror" value="onSilverlightError" />

<param name="background" value="white" />

<param name="minRuntimeVersion" value="3.0.40624.0" />

<param name="autoUpgrade" value="true" />

<param name="initParams" value="wcfServiceUrl=<%=ConfigurationManager.AppSettings["WCFServiceAddress"] %> " />

我们要是想给SILVERLIGHT传点别的什么东西,也可以用这种方式,下边是传多个参数的例子

<param name="initParams" value="wcfServiceUrl=<%=ConfigurationManager.AppSettings["WCFServiceAddress"] %>,webSiteUrl=<%=ConfigurationManager.AppSettings["WebSite"] %> " />

3.在SilverLight工程下App.xmal.cs中,添加属性CustomConfigurations,并修改事件Application_Startup。如下所示

private IDictionary<string, string> _customConfigurations;public IDictionary<string, string> CustomConfigurations{get { return _customConfigurations; }}public App(){this.Startup += this.Application_Startup;this.Exit += this.Application_Exit;this.UnhandledException += this.Application_UnhandledException;InitializeComponent();}private void Application_Startup(object sender, StartupEventArgs e){_customConfigurations = e.InitParams;this.RootVisual = new MainPage();}

4.在SilverLight工程中添加一个新CLASS,用于返回一个连接的实例

public class WcfService{public WcfService(){}public SilverService.SilverLightClient GetWCF(){App application = (App)Application.Current;string url = application.CustomConfigurations["wcfServiceUrl"];BasicHttpBinding binding = new BasicHttpBinding(BasicHttpSecurityMode.None);binding.MaxReceivedMessageSize = int.MaxValue;binding.MaxBufferSize = int.MaxValue;//SilverService.SilverLightClient client = new SilverService.SilverLightClient(binding, new EndpointAddress(new Uri(url)));return client;}}

在我们需要调用WCF服务时,就可通过上边的方法获取实例了

WcfService wcf = new WcfService();SilverService.SilverLightClient client = wcf.GetWCF();client.UpdatePlanCompleted += new EventHandler<ponentModel.AsyncCompletedEventArgs>(OnCompleted);client.UpdatePlanAsync(_planEntity);

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。