.NET WebService WebMethod с пользовательским объектом в качестве параметра - PullRequest
0 голосов
/ 03 августа 2011

Я создал .NET WebService.Там я реализовал следующий WebMethod:

[WebMethod]
public string CheckLicense(License license) {
    return "";
}

Лицензия типа поставляется из другой сборки X, на которую я ссылался в WebService.Полный тип лицензии: Prayon.Shared.Library.Licensing.License

Теперь я создал клиент, который также ссылается на сборку X. Когда я пытаюсь не вызывать WebService с CheckLincense:

    private void CheckLicense(License license) {
        using(var service = new Prayon.Service.Web.PrayonService()) {
            service.CheckLicense(license);
        }
    }

Там service.CheckLicense () хочет объект типа Prayon.Service.Prayon.Service.Web.License.Я не знаю, что я делаю не так.Что мне нужно сделать, чтобы я мог передать объект типа Prayon.Shared.Library.Licensing.License в service.CheckLicense ()?

Ответы [ 3 ]

0 голосов
/ 03 августа 2011

Вам необходимо создать экземпляр из webserviceproxy, а не из сборки.Когда вы добавляете ссылку на сервис к своей веб-службе от клиента, она будет генерировать прокси-классы для вас. Внутри них у вас будет определена лицензия. Используйте ее для создания экземпляра и передачи его, а не ссылки непосредственно из сборки.

0 голосов
/ 04 августа 2011

Если вы хотите использовать метод в своем объекте License, вам необходимо: вызвать ваш WebService, получить объект service.License, использовать его для создания экземпляра вашего локального объекта License, после чего у вас будет свой «локальный»Объект лицензии с состоянием (свойствами), заполненным вашим ответом WebService.Иначе я не понимаю, почему вы хотите использовать «локальный» объект License?

0 голосов
/ 03 августа 2011

Вы не должны делиться сборкой между вашим веб-сервисом и вашим клиентом, а вместо этого создавать экземпляр вашей лицензии из типов прокси-серверов вашего веб-сервиса (должен быть найден в service.x)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...