私は WCF を初めて使用し、簡単な例をテストしていましたが、それがあまりにも長い間行き詰まっていました。エラーや見逃したものはばかげているかもしれませんが、助けてください。よろしくお願いします。
問題の説明は次のとおりです。
CalService.svc.cs
次のコードでファイルに実装されているjsonを有効にしてWCFサービスをテストしていました。
namespace SharePoint.WebServices
{
[ServiceContract]
public interface ICalculators
{
[OperationContract]
[WebInvoke(Method = "POST",
BodyStyle = WebMessageBodyStyle.Wrapped,
RequestFormat = WebMessageFormat.Json,
ResponseFormat = WebMessageFormat.Json
)]
float Weight(float width, float diameter, float size, float factor);
}
public class Calculators : ICalculators
{
public float Weight(float width, float diameter, float size, float factor)
{
return 10f;
}
}
}
私のCalService.svc
ファイルは次のようなものです:
<%@
ServiceHost
Language="C#"
Debug="true"
Service="SharePoint.WebServices.Calculators"
Factory="System.ServiceModel.Activation.WebServiceHostFactory"
CodeBehind="CalService.svc.cs"
%>
サンプル サービスを IE でテストします。メッセージでお知らせしましたno endpoint found
。したがって、問題は web.config ファイルにあると思います。ここにあります:
<system.serviceModel>
<services>
<service name="SharePoint.WebServices.Calculators">
<endpoint
address=""
behaviorConfiguration="JsonBehavior"
binding="webHttpBinding"
contract="SharePoint.WebServices.ICalculators" />
<endpoint
address="mex"
binding="mexHttpBinding"
contract="IMetadataExchange" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="JsonBehavior">
<webHttp />
</behavior>
</endpointBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
</system.serviceModel>
json 対応の wcf に関して同様のスレッドに返信した人々によって作成されたすべてのポイントを確認しましたが、まだエンドポイントの問題がありました。助けてください!