Ошибка пользовательского пути службы REST ServiceStack - PullRequest
2 голосов
/ 16 февраля 2012

У меня проблемы с настройкой службы REST ServiceStack для работы с производственной коробкой IIS 7.5.Он отлично работает при запуске localhost, а также отлично работает, если я разверну в корне «Default Web Site» - / EmployeeSvc.У меня есть структура виртуального каталога на веб-сайте по умолчанию для организационных целей (обратите внимание на пользовательский путь в web.config).Я могу успешно перейти к файлу default.htm в этом месте, но когда я пытаюсь выполнить пример встроенного / hello, я получаю:

Ошибка сервера 404 - Файл или каталог не найден.Ресурс, который вы ищете, мог быть удален, изменилось его имя или временно недоступен.

Как я уже сказал, встроенный пример / hello отлично работает с localhost и корневой папки iis по умолчаниювеб-сайт, но не из структуры каталогов.Что я делаю не так с путём-локацией?

Заранее спасибо!Вот web.config:

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

  <location path="Employees-NoAuth/WebServices/EmployeeSvc">
        <system.web>
          <httpHandlers>
            <add path="*" type="ServiceStack.WebHost.Endpoints.ServiceStackHttpHandlerFactory, ServiceStack" verb="*" />
          </httpHandlers>
        </system.web>

        <!-- Required for IIS 7.0 -->
        <system.webServer>
          <modules runAllManagedModulesForAllRequests="true"/>
          <validation validateIntegratedModeConfiguration="false" />
          <handlers>
            <add path="*" name="ServiceStack.Factory" type="ServiceStack.WebHost.Endpoints.ServiceStackHttpHandlerFactory, ServiceStack" preCondition="integratedMode" resourceType="Unspecified" allowPathInfo="true" verb="*" />
          </handlers>
        </system.webServer>
  </location>

  <system.web>
    <customErrors mode="RemoteOnly"/>
    <compilation debug="true" targetFramework="4.0" />
  </system.web>

</configuration>

1 Ответ

0 голосов
/ 02 апреля 2013

Я бы попробовал следующее:
1. Удалить узел местоположения из web.config.Удалите из него конфигурацию SS.
2. Зарегистрируйте базовый URL-путь в своем классе, полученный из AppHostBase:

public override void Configure(Container container)
{
    this.SetConfig(new EndpointHostConfig { ServiceStackHandlerFactoryPath = "base/path" });
}
...