从某些客户端访问时,wcf抛出错误

时间:2011-08-12 18:18:07

标签: silverlight wcf

这是一个连接到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(对象   状态)

1 个答案:

答案 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;