ServiceStack REST服务自定义路径错误

时间:2012-02-16 16:42:12

标签: iis-7.5 servicestack

我无法配置ServiceStack REST服务以使用我的生产IIS 7.5框。它运行良好的localhost,如果我部署在“默认网站” - / EmployeeSvc的根目录,它也可以正常工作。我在默认网站下有一个虚拟目录结构用于组织目的(请注意web.config中的自定义路径)。我可以在这个位置成功浏览到default.htm,但是当我尝试执行我收到的内置/ hello示例时:

服务器错误404 - 找不到文件或目录。 您要查找的资源可能已被删除,名称已更改或暂时不可用。

就像我说的那样,内置/ hello示例完全可以从localhost和默认网站下的root 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 :(得分:0)

我会尝试以下方法:
 1.从web.config中删除位置节点。将SS配置移出它。
 2.在您的类中注册从AppHostBase

派生的基本URL路径
public override void Configure(Container container)
{
    this.SetConfig(new EndpointHostConfig { ServiceStackHandlerFactoryPath = "base/path" });
}