c# – WCF中的远程主机强制关闭现有连接

c# – WCF中的远程主机强制关闭现有连接,第1张

概述我有一个名为’Template’的抽象类,定义如下: [DataContract]public abstract class Template{ [DataMember] public virtual int? Id { get; set; } [DataMember] public virtual string Title { get; set; } 我有一个名为’Template’的抽象类,定义如下:
[DataContract]public abstract class Template{    [DataMember]    public virtual int? ID { get; set; }    [DataMember]    public virtual string Title { get; set; }    [DataMember]    public virtual byte[] TemplateDoc { get; set; }    [DataMember]    public virtual bool IsSystemTemplate { get; set; }        }

两个派生类:UserTemplate和SystemTemplate实现上面的抽象类,定义如下:

public class UserTemplate : Template{    [DataMember]    public virtual Int32? OfficeID { get; set; }    [DataMember]    public virtual Int32? UserID { get; set; }    protected UserTemplate() { }    public UserTemplate(string Title,byte[] templateDoc,string templateDocname,TemplateType templateType,int officeID,int? userID)    {        this.Title = Title;        this.TemplateDoc = templateDoc;        this.IsSystemTemplate = false;        this.OfficeID = officeID;        this.UserID = userID;    }}public class SystemTemplate : Template{    [DataMember]    public virtual Int32? MultiListGroupID { get; set; }    protected SystemTemplate() { }    public SystemTemplate(string Title,int multiListGroupID)    {        this.Title = Title;        this.TemplateDoc = templateDoc;        this.IsSystemTemplate = true;        this.MultiListGroupID = multiListGroupID;    }}

现在,当我尝试调用以下服务方法时:

List<Template> GetTemplatesByTemplateType(int officeID,int? userID,TemplateType templateType)

我收到此错误:

System.Net.sockets.socketException: An existing connection was forcibly closed by the remote host

是因为我试图返回抽象类的原因吗?
如果我尝试使用单元测试调用此方法,它运行正常.

解决方法 是的,问题是您的抽象基类需要使用KNownType和Xmlinclude属性进行修饰.见: http://geekswithblogs.net/ugandadotnet/archive/2008/05/27/serializing-an-abstract-data-contract.aspx 总结

以上是内存溢出为你收集整理的c# – WCF中的远程主机强制关闭现有连接全部内容,希望文章能够帮你解决c# – WCF中的远程主机强制关闭现有连接所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1243452.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存