【问题标题】:error after editing Linq to SQL partial class in WCF在 WCF 中编辑 Linq to SQL 部分类后出错
【发布时间】:2014-03-13 15:46:13
【问题描述】:

我的WCF 中有Session 类,它是从数据库生成的,但我使用partial class 对其进行了一些更改。

public partial class Session
{
    [DataMemberAttribute]
    public int K2
    {
        get { return 42; }
    }
}

我在我的应用程序中重新加载了Service Reference,但是当我尝试从WCF 下载所有Sessions 时出现以下错误:

$异常

{"接收到http://localhost:60271/CloudService.svc 的 HTTP 响应时发生错误。这可能是由于服务端点绑定没有使用 HTTP 协议。这也可能是由于服务器中止了 HTTP 请求上下文(可能由于服务关闭)。有关详细信息,请参阅服务器日志。"}

System.Exception {System.ServiceModel.CommunicationException}

对于像Exam 这样的其他类,一切都照常工作。

更新

与自定义生成的类相同:

[DataContractAttribute]
public class YoloClass
{

    private int k = 42;

    public int K
    {
        get { return k; }
    }

    [DataMemberAttribute]
    public int K2
    {
        get { return 42; }
    } 
}




[OperationContract]
List<YoloClass> GetAllYoloClass();

public List<YoloClass> GetAllYoloClass()
{
    var yololList = new List<YoloClass>();
    for (var i = 0; i < 10; i++)
    {
        yololList.Add(new YoloClass());
    }
    return yololList;
}

在服务器站点上,一切看起来都很好,在服务器端的GetAllYoloClass 之后立即在应用程序中出现错误。

更新

我的属性有问题:

[DataContract]
public class YoloClass2
{
    [DataMember]
    public int K { get; set; }
}

工作正常,但我需要访问本地私有变量...

【问题讨论】:

    标签: c# wcf linq-to-sql


    【解决方案1】:

    问题出在我的属性上。当我省略 set 时,我得到了这个错误...

    [DataContract]
    public class YoloClassRO
    {
        private int k = 42;
    
        [DataMember]
        public int K 
        {
            get { return k; }
        }
    }
    
    [DataContract]
    public class YoloClassRW
    {
        private int k = 42;
    
        [DataMember]
        public int K
        {
            get { return k; }
            set { k = value; }
        }
    }
    

    YoloClassRW - 有效

    YoloClassRO - 不是

    描述得很好Exposing readonly DataMember properties without set

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多