当前位置: 代码迷 >> Web Service >> winform桌面版本调用webservice 类异常
  详细解决方案

winform桌面版本调用webservice 类异常

热度:311   发布时间:2016-05-02 02:40:51.0
winform桌面版本调用webservice 类错误
1 我用 vs2008 写 webservice  c#
之后再 winform(桌面版本调用)。
数据是string 等都正常。
现在发现是 class 传递总是错误 

    [WebMethod(Description = "插入payBack类")]
        public bool payBack(object obj)
编译没有任何问题 , 成功。

但是在 winform(桌面版本调用)发生错误 如下 
尝试对参数 http://tempuri.org/ 进行序列化时出错: payBack。InnerException 消息是“数据协定名称为“payBackinfor:http://schemas.datacontract.org/2004/07/WebService1”的类型“WebService1.payBack”不是所需的类型。请将未知的类型以静态方式添加到已知类型的列表,例如,通过使用 KnownTypeAttribute 属性或通过将其添加到传递给 DataContractSerializer 的已知类型的列表等方法。”。有关详细信息,请参见 InnerException。
winform(桌面版本调用代码如下
var client = new Service1SoapClient();
           bool a = client.payBackinfor(myobj);
webservice 我是这样写的
    public bool payBack(object obj)
                代码 如 payBack myobj = (payBack)obj;
(有没有办法把一个类等复杂对象通过webservice传递)?

2  iis 发现dtc 坏掉 。我直接通过localhost:1970 端口debug编译,现在很多的asp需要跟着执行
由于不在iis下,有没有办法 让asp 也跟着执行 ?
(iis坏掉,只能通过目录加端口来调用)


------解决方案--------------------
1. 提示已经很清楚了,你需要在ServiceContract上添加[KnowType]特性,告诉客户端你这个方法都有可能使用到哪些类型。

  相关解决方案