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は、特定のサービスへの URL ではなく、すべての ServiceStack サービスのBase UriであるBaseUriを受け入れます。代わりに試してください:

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