Я работаю с:
Библиотека классов: Model.dll
using System;
using System.Collections.Generic;
using System.Text;
namespace root
{
public class Customer
{
private int _Id;
public int Id
{
get { return _Id; }
set { _Id = value; }
}
private string _Name;
public string Name
{
get { return _Name; }
set { _Name = value; }
}
}
}
Веб-служба ASP.NET со ссылкой на Model.dll, поэтому я могу использовать в веб-методе:
[WebMethod]
public string HelloWorld(root.Customer customer) {
return "Hello World";
}
Приложение Windows со ссылкой на Model.dll и веб-службу (1).
root.Customer newCustomer = new Customer();
newCustomer.Id = 1;
newCustomer.Name = "Name";
ws.Service ws = new root.ws.Service();
ws.HelloWorld(newCustomer);
^ problem here
Ошибка: аргумент '1': невозможно преобразовать из«root.Customer» - «root.ws.Customer»
(1) Щелкните правой кнопкой мыши -> И веб-ссылка -> Веб-службы в этом решении -> Нажмите Service.asmx ->Введите имя веб-ссылки: ws -> Нажмите Добавить ссылку
Обновлено: Я могу изменить строку в сгенерированном файле Reference.cs из
public string HelloWorld(Customer customer)
до
public string HelloWorld(root.Customer customer)
Таким образом, функция будет искать реальную модель вместо прокси-объекта, но не является реальным ответом.
Я не думаю о редактировании этого файла после каждой веб-ссылкиобновление.
Как заставить это использовать реальную модель?