asmx到wcf(不希望消费者需要更改签名)

时间:2013-07-12 17:33:16

标签: wcf asmx

我正在尝试将asmx webmethods转换为wcf。我不希望消费者改变他们的输入或预期输出。一个示例Web方法

[WebMethod]
public List<Customer> MyGetCustomers(int custId, int empId, DateTime startDate)

当我转换为wcf时,如果我使用datacontracts我有2个问题。

  1. int输入有一个额外的属性附加了&#34;指定&#34;,为了摆脱这个,我可以在DataMember上包含IsRequired。
  2. 但是,输入和输出都需要包装在自定义对象中,这些对象可能是数据交换。 wcf的使用者需要创建新对象,发送参数并接受返回值。有没有办法,我们可以节省消费者创建这些新输入/输出对象的需要,并继续将它们发送到旧的asmx web方法?
  3. 我尝试了MessageContracts和MessageBodyMember,通过将wrapping属性设置为false,我可以解决#2中提到的问题。但我需要在复杂类型List<Customer>的messagebodymember中将wrapped属性设置为true,在这种情况下我遇到与#2相同的问题。

0 个答案:

没有答案