jquery を使用して ajax コンストラクト経由で wcf レスト サービスを呼び出そうとしていますが、jquery からそうすると、不正なリクエスト エラーが発生します。また、サービスを直接参照しようとすると、空白のページが表示されます。過去に WCF サービス呼び出しを行ったことがありますが、ここで何が問題なのかわかりません。すべての返信に事前に感謝します。サービスを直接参照しても、結果が表示されません。呼び出しを行う jquery ajax コードは次のとおりです。
$.ajax({ type: "GET", dataType: "json", contentType: "application/json; charset=utf-8", url: "http://localhost:57452/mobile/WCFService/ContactService.svc/こんにちは", 成功: 関数 (結果) { 警告 ('成功'); }, エラー: 関数 (結果) { 警告 (結果.ステータス + ' ' + 結果.ステータステキスト); }
});
サービス インターフェイスは次のとおりです。
[ServiceContract]
public interface IContactService
{
[OperationContract]
[WebGet(
ResponseFormat = WebMessageFormat.Xml,
BodyStyle = WebMessageBodyStyle.Wrapped,
UriTemplate = "hello")]
string SaySomething();
}
サービスクラスは次のとおりです。
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class ContactService : IContactService
{
public string SaySomething()
{
// Add your operation implementation here
return "Hello!";
}
}
以下は、web.config ファイル内のサービスの構成です。
<system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
<behaviors>
<serviceBehaviors>
<behavior name="SomeNameSpace.mobile.WCFService.ContactServiceBehavior">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service behaviorConfiguration="LeeCounty_ASP.mobile.WCFService.ContactServiceBehavior"
name="SomeNameSpace.mobile.WCFService.ContactService">
<endpoint address="" binding="wsHttpBinding" contract="SomeNameSpace.mobile.WCFService.IContactService">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
</services>
</system.serviceModel>