質問

私は自己ホストにWCF Webサービスを試すとAjaxをサポートしてHTTPエンドポイントを提供しています。私は、WCFとAJAXについて発見したほとんどすべては、私が使用したくないIIS、について話しています。

私は、サービスをホストするために、単純なコンソールアプリケーションを構築してきました。私のサービスは、単一のメソッドを持っています:

[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ファイルを使用していないよ。

ありがとう!

役に立ちましたか?

解決

あなたのクライアントは何ですか? enableWebScriptを使用すると、ASP.NET AJAXのサポート(例えば、装飾されたメンバー、種類、および暗示すべてのオットグー)を取得しています。あなたは「生」JSONをしたい場合は、代わりにenableWebScriptのwebHttp動作を使用し、タグWebInvokeAttributeまたはWebGetAttributeを使用してインタフェースの操作は、(あなたが望むようにJSONまたはXMLへの要求/応答タイプを設定)。また、あなたが必要とされServiceContractAttribute、とあなたのインターフェースを帰属していないように見えます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top