当前位置:编程学习 > C#/ASP.NET >>

WCF客户端代理类的生成,参数类型的变化

在“WCF客户端代理类”生成时,参数类型发生了变化。

服务接口方法:

    [OperationContract]
    [ServiceKnownType(typeof(MonitoringsMonth))]
    [ServiceKnownType(typeof(MonitoringsDay))]
    [ServiceKnownType(typeof(MonitoringsYear))]
    public List<Monitorings> GetWaterMonitoringEntityData(Monitorings.EnergyType energytype, KeyValuePairInfo<Monitorings.Period, string> monitordate, KeyValuePairInfo<Monitorings.MonitorType, string> monitortype, string meterusetype, bool issubstation)
    {
        List<Monitorings> MonitoringEntityDatas = new Mycems.BLL.WaterMonitoringDatas().GetMonitorDatas(energytype, monitordate, monitortype, meterusetype, issubstation);
        return MonitoringEntityDatas;
    }

    “KeyValuePairInfo”是自定以的参数类型,定义方法如下:

     [Serializable]
    public class KeyValuePairInfo<TKey, TValue>
    {
        private TKey _key;
   private TValue _value;

   public KeyValuePairInfo(TKey key, TValue value)
   {
  _key = key;
  _value = value;
   }

   public TKey Key
   {
   get { return _key; }
   set { _key = value; }
   }

   public TValue Value
   {
   get { return _value; }
   set { _value = value; } 
   }
    }

 生成客户端代理类的参数类型如下:

            MyChartsService.KeyValuePairInfoOfMonitoringsPeriodstringfgNVcRZS   two= new MyChartsService.KeyValuePairInfoOfMonitoringsPeriodstringfgNVcRZS();

            MyChartsService.KeyValuePairInfoOfMonitoringsMonitorTypestringfgNVcRZS   three = new MyChartsService.KeyValuePairInfoOfMonitoringsMonitorTypestringfgNVcRZS();

 问题:

        1、为什么在WCF客户端代理类上,两个参数的类型发生了变化,而且两个参数的类型还不一样???

         2、“OfMonitoringsPeriodstringfgNVcRZS”和“OfMonitoringsMonitorTypestringfgNVcRZS”,怎么加上了这么长的一串???  “stringfgNVcRZS”表示什么呢???    --------------------编程问答-------------------- 神器的WCF。。。 --------------------编程问答-------------------- 用 dephilp 开发吧 --------------------编程问答-------------------- 原因呢,易做图们??? --------------------编程问答-------------------- 有谁知道原因吗??? --------------------编程问答-------------------- 不清楚序列化/反序列化的细节,但你要关心的只是类的属性一致,名字不一样有啥关系。 --------------------编程问答-------------------- 这些是底层的东西,LZ不用关心,会用就行 --------------------编程问答--------------------
引用 6 楼  的回复:
这些是底层的东西,LZ不用关心,会用就行


名字变化太大了。。。 --------------------编程问答-------------------- TKey、TValue不是具体类型,WCF目前还不能完全支持泛型,所以只能将就着这样处理了。 --------------------编程问答-------------------- Ok... --------------------编程问答-------------------- WCF的原因了,对吧???
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,