Ошибка напока публикую на IIS - PullRequest
14 голосов
/ 28 марта 2012

У меня есть один тестовый сервис wcf с методами по умолчанию и веб-конфигурацией:

 <system.web>
    <compilation debug="true" targetFramework="4.0"/>
</system.web>
<system.serviceModel>
    <behaviors>
        <serviceBehaviors>
            <behavior>
                <!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
                <serviceMetadata httpGetEnabled="true"/>
                <!-- To receive exception details in faults for debugging purposes, set the value below to true.  Set to false before deployment to avoid disclosing exception information -->
                <serviceDebug includeExceptionDetailInFaults="false"/>
            </behavior>
        </serviceBehaviors>
    </behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true"/>
</system.serviceModel>
<system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>

на локальном IIS, он отлично работает при публикации.удаленный IIS я получаю эту ошибку:

Описание: во время обработки файла конфигурации, необходимого для обслуживания этого запроса, произошла ошибка.Пожалуйста, просмотрите подробности конкретной ошибки ниже и измените файл конфигурации соответствующим образом.

Сообщение об ошибке синтаксического анализатора: Ошибка использовать раздел, зарегистрированный как allowDefinition = 'MachineToApplication' за пределами уровня приложения.Эта ошибка может быть вызвана тем, что виртуальный каталог не настроен в качестве приложения в IIS.

Line 23:       </service>
Line 24:     </services>
**Line 25:        <serviceHostingEnvironment multipleSiteBindingsEnabled="true"/>**
Line 26:  </system.serviceModel>
Line 27:  <system.webServer>

заранее спасибо.

Ответы [ 3 ]

15 голосов
/ 29 марта 2012

Я получил решение:

В IIS, если приложение действительно является приложением, а не виртуальным каталогом? Значок должен быть чем-то похожим на землю, а не на значок папки. Если нет, пожалуйста, преобразуйте его в приложение, щелкните правой кнопкой мыши папку и выберите «развернуть», а затем Application.Service с

2 голосов
/ 11 августа 2012

Убедитесь, что при создании веб-приложения вы просматриваете фактическую веб-папку (которая содержит Bin, *.svc и web.config), а не родительскую папку.

0 голосов
/ 20 июля 2012

Если вы работаете с фреймворком 4.0 только с одной конечной точкой, так что пишите MultiSiteBindingsEnabled = "False" serviceHostingEnvironment multipleSiteBindingsEnabled = "False"

С помощью этого он будет запущен

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