AJAXクライアントのためのセルフホスティングWCF
-
22-09-2019 - |
質問
私は自己ホストに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、とあなたのインターフェースを帰属していないように見えます。
所属していません StackOverflow