簡単なWebサービスを作成しました。コード:
[ServiceContract]
public interface ITsdxService
{
[OperationContract]
void DoWork();
[OperationContract]
string Test();
}
public class TsdxService : ITsdxService
{
public void DoWork()
{
}
public string Test()
{
return "Hello World!";
}
}
Web.config:
<system.serviceModel>
<services>
<service name="Test.TSDX.UI.TsdxService">
<endpoint
address="Tsdx"
binding="wsHttpBinding"
bindingConfiguration="TestBinding"
contract="Test.TSDX.UI.ITsdxService" />
</service>
</services>
<bindings>
<wsHttpBinding>
<binding name="TestBinding" />
</wsHttpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior name="">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
</system.serviceModel>
Visual Studioから実行する場合、localhost:50517 / TsdxService.svc?wsdlを配置するとすべて正常に機能します-wsdlは表示されますが、localhost:50517 / TsdxService.svc / Tsdx / Testまたはlocalhost:50517 /TsdxService.svc/を配置するとTsdx/DoWork何も表示されません。フィドラーは、400エラーが発生したと言っています。ブレークポイント(TestメソッドとDoWorkメソッド)は機能しません。なんで?私は何を間違えましたか?