Silverlight 4.0 如何在silverlight中访问工作流服务?

Silverlight 4.0 如何在silverlight中访问工作流服务?,silverlight-4.0,workflow-foundation-4,workflowservice,Silverlight 4.0,Workflow Foundation 4,Workflowservice,我想在Silverlight中使用一个名为GetDataWorkflowService.xamlx的worflow服务 当我向应用程序添加服务引用时,它会给出一条消息“相对URI不支持此操作”。不过,它仍然会添加引用 当我使用referece时: Servicelient proxy=new ServiceClient(); proxy.GetDataCompleted += (o, a) => Debug.WriteLine("Result is " + a.Result); proxy

我想在Silverlight中使用一个名为GetDataWorkflowService.xamlx的worflow服务

当我向应用程序添加服务引用时,它会给出一条消息“相对URI不支持此操作”。不过,它仍然会添加引用

当我使用referece时:

Servicelient proxy=new ServiceClient();
proxy.GetDataCompleted += (o, a) => Debug.WriteLine("Result is " + a.Result);
proxy.GetDataAsync(123);
我得到以下错误:


尝试向URI的请求时出错http://localhost:1234/GetDataWorkflowService.xamlx'. 这可能是由于在没有适当的跨域策略或不适合SOAP服务的策略的情况下,试图以跨域方式访问服务。您可能需要联系服务的所有者以发布跨域策略文件,并确保它允许发送与SOAP相关的HTTP头。此错误也可能是由于在web服务代理中使用内部类型而未使用InternalsVisibleToAttribute属性造成的。有关详细信息,请参阅内部异常

我不明白发生了什么事

有几件事:

  • 如果使用WCF测试客户端调用GetData(),会发生什么情况?您是否遇到错误,或者是否正常工作。如果您在这里遇到错误,请关注服务器部件
  • 如果从控制台应用程序设置服务引用并调用工作流服务,会发生什么情况。还是同样的错误
  • 工作流服务是否与Silverlight客户端位于同一网站中?如果没有,您是否正确设置了跨域策略文件
  • 假设WCF测试客户端工作。打开fiddler并将来自Silverlight客户端的请求与来自WCF测试客户端的请求进行比较。有什么不同
  • 在服务器上启用跟踪,以查看是否存在任何异常或警告,这些异常或警告可能会让您更深入地了解问题所在

检查您的启动项目,确保您启动的是web项目,而不是Silverlight项目。有关更多详细信息,请参见我的博客上的“请查看内部异常以了解更多详细信息”。什么是内部异常?