这是一个连接到wcf服务的silverlight应用程序,后者又连接到另一个wcf服务。
整个应用程序位于Windows 2003服务器上,包括wcf服务和silverlight应用程序。这是银光,所以它适用于浏览器。我们可以从许多开发机器中的两个访问/运行它。它可以在这两台机器上正常工作,但不能从任何其他机器或同一服务器内工作。
它会抛出以下错误:
[Async_ExceptionOccurred]参数:调试资源字符串是 不可用。通常,关键和论据足以提供 诊断问题的信息。看到 http://go.microsoft.com/fwlink/?linkid=106663&Version=4.0.60310.0&File=System.dll&Key=Async_ExceptionOccurred
在 System.ComponentModel.AsyncCompletedEventArgs.RaiseExceptionIfNecessary() 在 SilverlightClient.TestWCFReference.sendRequestCompletedEventArgs.get_Result() 在SilverlightClient.Views.TestFormControl.sendRequestCompleted(Object sender,sendRequestCompletedEventArgs e)at SilverlightClient.TestWCFReference.Service1Client.OnsendRequestCompleted(对象 状态)
答案 0 :(得分:1)
我发现了问题,Silverlight客户端正在使用.xap中的clientconfig文件,而不是外部客户端文件。我不得不从项目中删除clientconfig。
对于EndPoint设置,我手动添加了silverlight Web项目的web.config中的设置,将其传递给.js文件并从App.config中读取。它有效。
的web.config
<appSettings>
<add key="serviceurl" value="http://localhost/Service/Service.svc"/>
</appSettings>
default.aspx.cs
protected void Page_Load(object sender, EventArgs e)
{
InitialParams = "serviceurl=" + System.Configuration.ConfigurationManager.AppSettings["ServiceURL"];
}
的Default.aspx
<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">
<!--other params go here-->
<param name="initParams" value="<%= InitialParams%>" />
</object>
App.xaml.cs
//field
public static string ServiceURL = "";
private void Application_Startup(object sender, StartupEventArgs e)
{
ServiceURL = e.InitParams["serviceurl"];
this.RootVisual = new MainPage();
}
MainPage.xaml.cs中
string url = App.ServiceURL;