2

我在 .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>

有人可以帮我吗?谢谢。

4

1 回答 1

0

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

var serviceClient = new XmlServiceClient("http://localhost/ServerAccessManagerAPI/");
var response = serviceClient.Send(request); 
于 2013-01-10T19:02:37.427 回答