WCF больше не может ступать на службу, которую это локально разместило — почему нет?

Просто возьмите свои данные и добавьте их в таблицу. Переберите каждую запись в ваших данных и (если используете jquery) выполните .append (). Я просто создаю простую переменную с вашим json, но вы можете сделать это с вашей переменной myJSON внутри функции success.

var data = [{"id":"1","name":"abc"},
{"id":"2","name":"def"},  
{"id":"3","name":"xyz"},
{"id":"4","name":"aaa"}]


data.forEach(user => {
    $('.show_data').append(`<tr><td>${user.id}</td><td>${user.name}</td></tr>`);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table class="show_data">
     <tr>
          <th>User id</th>
          <th>User name</th>
     </tr>
</table>

Редактировать

Вы получаете это по ошибке, потому что вы используете JSON.stringify, который делает ваш JSON строкой. Вы не можете перебрать строку. Просто используйте ответ вместо JSON.stringify (response);

17
задан Cœur 17 April 2017 в 12:34
поделиться

7 ответов

Для мультиконфигураций Visual Studio:

На страницах свойств вашего решения убедитесь, что для «Конфигурации» вашего веб-сервиса задано «Отладка», а не «Выпуск».

4
ответ дан 30 November 2019 в 12:20
поделиться

Кроме того, при использовании отладки VS и присоединении ее к процессу w3wp.exe, когда у вас есть определенные привязки портов, отличные от http: 80: *, вы должны иметь для web отладки> VS в качестве сайта, а порт http работает.

1
ответ дан 30 November 2019 в 12:20
поделиться

В моем случае я опубликовал его, используя конфигурацию выпуска. Вам нужно выбрать Debug здесь.

enter image description here

1
ответ дан 30 November 2019 в 12:20
поделиться

У меня была похожая проблема. WCF, размещенный на WCF Service Host , запросы проверены WCF Test Client . Моя проблема была вызвана пробелом в имени конфигурации сборки . Как только я использовал имя конфигурации без пробелов, отладка работала.

Я думаю, что настоящей проблемой была папка вывода сборки, заканчивающаяся папкой с именем конфигурации.

0
ответ дан 30 November 2019 в 12:20
поделиться

@msulis - да, спасибо, это исправило это для меня. Я также недавно изменил целевой процессор с любого на x86. Я не мог ответить на ваше сообщение по какой-то причине, поэтому прошу прощения, если это звучит как «ответ».

0
ответ дан 30 November 2019 в 12:20
поделиться

Да, у меня та же проблема, WCF использует другие процессы.

Наконец, я нашел способ: сначала запустить новый экземпляр (отладка-> запустить новый экземпляр) службы WCF, а затем запустить на стороне клиента, когда точки останова в службе WCF попадут!

0
ответ дан 30 November 2019 в 12:20
поделиться

Используете ли вы функцию автоматического размещения службы WCF в Visual Studio? Вы можете проверить это, открыв свойства проекта службы WCF и перейдя на вкладку «Параметры WCF». Установлен ли флажок Запустить узел службы WCF при отладке другого проекта в том же решении ? Если это так, то это объясняет проблему.

Что происходит, так это то, что когда вы запускаете свой клиент, создается отдельный процесс для автоматического размещения вашей службы WCF. Поскольку это отдельный процесс, вы не сможете «вмешаться» в него при отладке клиента. Вам нужно будет запустить два отдельных сеанса отладки, один для вашей службы и один для вашего клиента.

Простой способ сделать это - вызвать System.Diagnostics.Debugger.Break () в логике запуска для ваше обслуживание.

3
ответ дан 30 November 2019 в 12:20
поделиться
Другие вопросы по тегам:

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