如何访问 silverlight 中的工作流服务?

发布于 2024-12-01 04:59:26 字数 638 浏览 2 评论 0原文

我有一个名为 GetDataWorkflowService.xamlx 的工作流服务,我想在 Silverlight 中使用它。

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

当我使用参考:时

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 属性造成的。请参阅内部异常以了解更多详细信息。

我不明白发生了什么事。

I have one worflow service named GetDataWorkflowService.xamlx that I want to use in Silverlight.

When I add a service reference to my application, it gives a message 'This Operation is not supported for the relative URI.' It still adds the reference, however.

When I use the referece:

Servicelient proxy=new ServiceClient();
proxy.GetDataCompleted += (o, a) => Debug.WriteLine("Result is " + a.Result);
proxy.GetDataAsync(123);

I get the following error:

An error occurred while trying to make a request to URI 'http://localhost:1234/GetDataWorkflowService.xamlx'. This could be due to attempting to access a service in a cross-domain way without a proper cross-domain policy in place, or a policy that is unsuitable for SOAP services. You may need to contact the owner of the service to publish a cross-domain policy file and to ensure it allows SOAP-related HTTP headers to be sent. This error may also be caused by using internal types in the web service proxy without using the InternalsVisibleToAttribute attribute. Please see the inner exception for more details.

I don't understand what's happening.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

若沐 2024-12-08 04:59:26

一些事情:

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

A few things:

  • What happens if you use the WCF Test Client to call GetData()? Do you get an error or does that work just fine. If you get an error here concentrate on the server parts.
  • What happens if you set a service reference from a console application and call your workflow service. Same error or does that work?
  • Is the workflow service hosted in the same web site as the Silverlight client? If not do you have the cross domain policy files setup correctly.
  • Assuming the WCF Test Client works. Open up fiddler and compare the request from your Silverlight client with that from the WCF Test Client. What is different?
  • Enable tracing on the server to see if there are any exceptions or warnings that might provide more insight to what is wrong.
℉服软 2024-12-08 04:59:26

检查您的启动项目以确保您正在启动 Web 项目而不是 Silverlight 项目。有关详细信息,请参阅工作流服务故障排除/Silverlight 在我的博客上

Check your startup project to be sure you are starting a web project and not the Silverlight project. For more details see Troubleshooting Workflow Services / Silverlight on my blog

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文