0

WCF Webサービスをセルフホストし、HTTPエンドポイントにajaxサポートを提供しようとしています。WCFとAJAXについて私が見つけたほとんどすべてが、私が使用したくないIISについて話している。

サービスをホストするためのシンプルなコンソールアプリを作成しました。私のサービスには1つの方法しかありません:

[ServiceContract]
interface IMyService
{
    [OperationContract]
    string TestConnection();
}

そして、これがapp.configコードです:

<services>
  <service name="Service.MyService" behaviorConfiguration="MyServiceBehavior" >
    <endpoint address="" binding="webHttpBinding" behaviorConfiguration="WebBehavior" contract="Service.IMyService" />
    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
  </service>
</services>

<behaviors>
  <endpointBehaviors>
    <behavior name="WebBehavior">
      <enableWebScript/>
    </behavior>
  </endpointBehaviors>
  <serviceBehaviors>
    <behavior name="MyServiceBehavior" >
      <serviceMetadata httpGetEnabled="true" />
    </behavior>
  </serviceBehaviors>
</behaviors>

サービスメタデータエンドポイントにアクセスしてWSDLを確認できますが、ajaxクライアントから使用できません。だから私の質問は:1。これを行うことは可能ですか?2.明らかに不足している必要な構成は何ですか?

.svcファイルを使用していません

ありがとう!

4

1 に答える 1

1

あなたのクライアントは何ですか?enableWebScript を使用すると、ASP.NET AJAX サポートが得られます (たとえば、装飾されたメンバー、型、およびその他すべての重要な機能)。「生の」JSON が必要な場合は、enableWebScript の代わりに webHttp 動作を使用し、インターフェイス操作に WebInvokeAttribute または WebGetAttribute でタグを付けます (必要に応じて要求/応答タイプを JSON または XML に設定します)。また、必要なServiceContractAttributeを使用してインターフェイスを属性付けしていないようです。

于 2009-11-24T19:08:35.317 に答える