WCF返回模型类

时间:2013-12-05 11:32:03

标签: c# wcf model

我的问题如下:

我已经实现了一个生成数据(成功)的服务。现在我想要检索那些数据。如果我在我的电脑上本地设置服务和客户端连接(localhost ..),它确实有效。但是,当我将服务设置到另一台机器上时,却没有。我的课程看起来像这样。

IService
[ServiceContract(Namespace = "http://bla", SessionMode = SessionMode.Required)]
public interface IService
{

    [OperationContract]
    [FaultContract(typeof(FaultException))]
    Models.Models GetModels();
}

[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerSession)]
Service : IService
{
    private static Models.Models vm = new Models.Models();
    public Models.Models GetModels()
    {
        return vm;
    }
}

[DataContract]
public class Models
{
    private static Config.Config _config = new Config.Config();
    public Config.Config Config { get { return _config; } }
}


[DataContract]
public class Config
{
    private static ObservableCollection<General> _general = new ObservableCollection<General>();
    [DataMember]
    public ObservableCollection<General> General
    {
        get { return _general; }
        internal set { _general = value; }
    }
}

[DataContract]
public class General
{
    private static string _logFile;
    [DataMember(IsRequired = true)]
    public string LogFile
    {
        get { return _logFile; }
        set { _logFile = value; }
    }

}

上面的代码返回模型类,但config类中没有加载的元素。应该至少有一个计数(General.Count)。我是否必须以不同的方式配置我的服务或者我错过了什么?

1 个答案:

答案 0 :(得分:0)

您的数据类的静态成员不会被序列化并在客户端和服务之间发送。您需要找到一个没有静态成员的解决方案。