【问题标题】:Cannot change client settings when adding a service reference in Visual Studio for Windows phone在 Visual Studio for Windows phone 中添加服务引用时无法更改客户端设置
【发布时间】:2024-04-16 12:05:01
【问题描述】:

我正在使用适用于 Windows Phone 的 Visual Studio Express 2012。我正在向 SOAP 服务添加服务引用。 VS 看到服务很好,我可以添加服务并使用它。问题是我想更改其中一项客户端设置,但它似乎已被禁用。我尝试删除该服务并将其添加回来,但我仍然无法更改它。为什么这个被禁用? windows phone 版本的 VS 没有这个功能吗?

高级设置如下所示:

【问题讨论】:

    标签: c# wcf visual-studio-2012 windows-phone-8 windows-phone


    【解决方案1】:

    生成的类的访问级别

    此选项不适用于 Silverlight / Windows Phone 应用程序。这是由于 DataContractSerializer 的 Silverlight 版本的限制。字段和属性必须是公共的才能被序列化。

    http://msdn.microsoft.com/en-us/library/system.runtime.serialization.datacontractserializer%28v=vs.95%29.aspx

    对于返回要序列化的数据的类的每个成员,应用 DataMemberAttribute。您可以序列化字段和属性,前提是它们可以公开访问。

    允许生成异步操作

    这些是 Silverlight/Windows phone 允许的唯一服务调用。如果需要,请参阅此处了解将呼叫包装在任务中的方法:

    WP8 SDK import Service Reference with task-based operations not possible

    【讨论】: