Как добавить, что SoapExtension приписывают сгенерированному клиентскому прокси веб-сервиса, не изменяя сгенерированный класс?

в component.html добавить следующий код:

<div *ngFor="let x of students;let i=index">
  <div *ngFor="let j of studentDetails">
    <input *ngIf="x.name == j.name" type="text" [name]="'name'+i" 
       [value]="j.marks">
  </div>
</div>
6
задан Guilherme de Jesus Santos 1 August 2012 в 17:21
поделиться

2 ответа

К сожалению, необходимо будет изменить код прокси. Другие возможности, которые Вы упоминаете, не будут работать - parial класс не перезапишет существующую функциональность, и нет никакого способа, которым я знаю о том, чтобы заставлять интерфейс сделать то, в чем Вы нуждаетесь (составленный тем, что нет никакого способа даже позволить генератору прокси знать, что Вы намереваетесь реализовать интерфейс).

Что-то, что я сделал в прошлом в ситуации, где у Вас есть доступ к источнику веб-сервиса, должно записать немного приложения, которое проанализирует код (как текст) в .asmx.cs файле веб-сервиса для извлечения названий всех методов, которые отмечены с [WebMethod]. Затем приложение "ремонтирует" References.cs путем вставки соответствующих атрибутов на проксированные методы, на основе некоторого файла настроек или somesuch. Это работает хорошо потому что соглашения о присвоении имен в карте прокси очень аккуратно к именам методов в исходном сервисе.

1
ответ дан 17 December 2019 в 20:35
поделиться

Я могу только закончить тем, что ввел свой SoapExtension путем помещения его в Web.config. Это заставит это быть выполненным на каждом вызове WS без клиентского атрибута метода прокси. Затем я изменю SoapExtension для поиска названного имени метода WS в списке, и если это находится в списке, затем сделайте остальную часть логики SoapExtension. Я полагаю, что хит в списке в этом приложении небольшого объема не собирается уничтожать производительность.

1
ответ дан 17 December 2019 в 20:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: