【问题标题】:why does servicestack returns 404 Handler for Request not found error?为什么 servicestack 返回 404 Handler for Request not found 错误?
【发布时间】:2013-01-10 07:09:36
【问题描述】:

我在 .net 4.5 中创建了基于 Rest 的服务,并在 IIS7 中托管了该服务。

我能够使用 HTTP WebRequest (GET,POST) 访问服务并获得响应,但是当通过 ServiceStack 访问时,我收到以下错误消息,

在服务堆栈中命中 API 的代码是,

    IServiceClient serviceClient = new XmlServiceClient("http://localhost/ServerAccessManagerAPI/events");
    var response = serviceClient.Send(request); 

我在我的服务配置文件中包含了以下几行,

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

    <system.webServer>
      <modules runAllManagedModulesForAllRequests="true" />
      <validation validateIntegratedModeConfiguration="false" />
      <handlers>
        <add path="*" name="ServiceStack.Factory" type="ServiceStack.WebHost.Endpoints.ServiceStackHttpHandlerFactory, ServiceStack" verb="*" preCondition="integratedMode" resourceType="Unspecified" allowPathInfo="true" />
        <remove name="WebDAVModule" />
      </handlers>
    </system.webServer>

  </location>

有人可以帮我解决这个问题吗? 谢谢。

【问题讨论】:

    标签: asp.net web-services c#-4.0 servicestack


    【解决方案1】:

    ServiceStack ServiceClients 接受一个 BaseUri,它应该是您所有 ServiceStack 服务的 Base Uri,而不是特定服务的 url。试试吧:

    var serviceClient = new XmlServiceClient("http://localhost/ServerAccessManagerAPI/");
    var response = serviceClient.Send(request); 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-01-05
      • 1970-01-01
      • 2012-08-16
      • 2019-12-09
      • 2018-12-16
      • 1970-01-01
      • 2015-01-04
      相关资源
      最近更新 更多