访问WCF服务时出错

时间:2012-06-18 17:42:44

标签: wcf deployment hosting

我有一个非常奇怪的问题。 我有一个有效的WCF服务。

[ServiceContract]
public interface IService
{
    [OperationContract]
    int AddResult(int result, string name);

    [OperationContract]        
    int list(int count);
}

在另一个课程中,我有这项服务的实施。它有效。 但是当我像这样更改方法“list”时:

[ServiceContract]
public interface IService
{
    [OperationContract]
    int AddResult(int result, string name);

    [OperationContract]        
    List<string> list(int count);        
}

当我从目标项目(它是Windows Phone应用程序)添加服务引用时,我收到了一些错误和警告。它们的关键思想是无法加载服务(或无法加载端点)。 两种方法之间的差异非常小 - 列表而不是int类型。但这至关重要。 为什么会这样?为什么我不能使用List?

1 个答案:

答案 0 :(得分:1)

您是否尝试将List集合封装到代理类中?你可以尝试类似的东西:

[DataContract]
public class MyData
{
    [DataMember]
    public List<string> list { get; set; }
}

[ServiceContract]
public interface IService
{
    [OperationContract]
    int AddResult(int result, string name);

    [OperationContract]        
    MyData list(int count);        
}

另外,看看这个link,我认为这可能就是你要找的。

<强>更新

根据此主题的评论部分的讨论,问题不在于WCF服务本身,而是在@ user1460819 Windows Phone应用程序中生成的客户端上。

将WCF服务绑定更改为“basicHttpBinding”后,此问题得以解决,客户端的WCF引用已重新生成,整个项目已重建。