Библиотека служб WCF (IIS): публикация метаданных для этой службы в настоящее время отключена

Я получаю эту ошибку и не могу ее избавиться. Этот вопрос похож на вопрос это ТАК и многие другие, не говоря уже о самой странице.

Да, я полностью осознаю, что namespace и service name ДОЛЖНЫ ТОЧНО СООТВЕТСТВОВАТЬ. Я прочитал это в миллиард раз.

У меня есть библиотека службы WCF, которую я использую в IIS. Сервер представляет собой стандартный выпуск Windows Server 2016. Я переименовал App.config в Web.config, хотя пробовал как App.config. Я пробовал, кажется, миллион конфигураций каждой и все та же ошибка. Да, пробовал добавить привязку и указать basicHttpBinding.

Web.Config

<?xml version = "1.0" encoding = "utf-8" ?>
<configuration>
    <system.serviceModel>

        <services>
            <service name = "MyTesterLibrary.MyTester" behaviorConfiguration = "MetadataBehavior">
                <endpoint address = "" binding = "wsHttpBinding" contract = "MyTesterLibrary.IMyTester" />
                <endpoint address = "mex" binding = "mexHttpBinding" contract = "IMetadataExchange" />
            </service>
        </services>

        <behaviors>
            <serviceBehaviors>
                <behavior name = "MetadataBehavior">
                    <serviceMetadata httpGetEnabled = "True"/>
                    <serviceDebug includeExceptionDetailInFaults = "True" httpHelpPageEnabled = "True" />
                </behavior>
            </serviceBehaviors>
        </behaviors>

    </system.serviceModel>
</configuration>

Основной класс

namespace MyTesterLibrary
{
    public class MyTester : IMyTester
    {
        public string GetVersionInfo()
        {
            Backup.GetVersionInfo(out string response);

            return response;
        }
    }
}

Класс интерфейса

namespace MyTesterLibrary
{
    [ServiceContract]
    public interface IMyTester
    {
        [WebInvoke(Method = "GET", RequestFormat = WebMessageFormat.Xml, ResponseFormat = WebMessageFormat.Xml, UriTemplate = "/GetVersionInfo")]
        [OperationContract]
        string GetVersionInfo();
    }
}

ProductServiceHost.svc

<%@ ServiceHost Service = "MyTesterLibrary.MyTester" %>

Я следовал инструкциям на другом сайте и создал сайт IIS. На этом скриншоте все сказано.

Библиотека служб WCF (IIS): публикация метаданных для этой службы в настоящее время отключена

Я знаю, что в упомянутой статье SO этот парень настаивал на том, что проблема была в IIS, а это не так, но моя проблема определенно кажется такой. Я просто снова попробовал basicHttpBinding и то же самое.

Библиотека служб WCF (IIS): публикация метаданных для этой службы в настоящее время отключена

Этот вопрос на форуме asp.net тоже был интересен. Я инстинктивно переименовал App.config в Web.config и перестроил DLL. IIS не читает `App.config '.

Мысли?

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
469
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

В последней упомянутой статье говорилось о проблеме, и мои подозрения были правильными. Я оставляю этот вопрос здесь, поскольку я хорошо его написал, но, что более важно, ВАЖНЫЙ факт не был заявлен.

Visual Studio или C# не встраивают Web.config ИЛИ IIS не извлекает файл из библиотеки DLL. Во всех статьях, которые я читал, говорится, что нужно написать файл SVC, поместить DLL в файл bin, но все они не учитывают два важных элемента информации.

  1. Скопируйте App.config в `Web.config '.

  2. Поместите копию Web.config в ту же папку, что и файл SVC.

Нет необходимости обновлять веб-сайт в IIS, но необходимо обновить страницу браузера.

Надеюсь, что этот ответ кому-то поможет, так как очень пострадал и почти не понял.

Другие вопросы по теме