1

テキスト行を返す WCF サービスを作成し、クライアント アプリケーションを使用してテストしたところ、テキスト行を取得できました。テキスト行を返すメソッドを含むブラウザに URL 全体を配置すると機能すると思いましたが、代わりに 400 not found エラーが発生します。たとえば、メインの URL は次のとおりです。

http://localhost/DataAdmin/GService.svc?wsdl

そのため、ブラウザで次を貼り付けようとすると機能しません。

http://localhost/DataAdmin/GService.svc/RetrieveData?inputText=test

ああ、これはリモートでテストしようとしているからです。アプリが別のサーバー/ドメインからサービスを呼び出せるようにしたい。おそらく設定ファイルと関係があると思います。これが私のサービスプロジェクトの構成ファイルです。

<?xml version="1.0"?>
<configuration>

<system.web>
<compilation debug="true" strict="false" explicit="true" targetFramework="4.0" />
</system.web>
<system.serviceModel>
 <behaviors>
  <serviceBehaviors>
    <behavior>
      <serviceMetadata httpGetEnabled="true"/>
      <serviceDebug includeExceptionDetailInFaults="false"/>
    </behavior>
  </serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
</system.serviceModel>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>

</configuration>
4

1 に答える 1

2

それはそれほど単純ではありません。WCF は SOAP プロトコルで動作します。メソッド名と値を Url に「そのまま」渡すことはできません。

Restfull-API を使用することができます。私は、それについてすべてをシンプルかつ簡潔に説明しているこの素晴らしい投稿を参照しています。

于 2012-08-14T19:38:27.787 に答える