【发布时间】:2012-06-20 08:14:53
【问题描述】:
我已经创建了简单的网络服务。 代码:
[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 我什么也没看到。 Fiddler 告诉我我收到 400 错误。断点(在 Test 和 DoWork 方法上)不起作用。为什么?我做错了什么?
【问题讨论】:
-
尝试将绑定更改为 basicHTTP。
-
@lain 已经改变了——都一样。 400 错误代码。
-
您能否仔细检查一下您是否在 Win7 中打开了 WCF 功能,转到添加/删除程序,添加功能,单击 Microsoft.net Framework 3.5.1 下
标签: c# .net wcf web-services c#-4.0