【问题标题】:Web.config for simple WCF Web Service用于简单 WCF Web 服务的 Web.config
【发布时间】: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


【解决方案1】:

WebGet 属性添加到您的服务操作中。

[WebGet]
public string Test() 
{
    ...
}

为此,您还需要将WebScriptEnablingBehavior 添加到服务配置中。另外,使用 webHttpBinding。这些都是允许服务作为 AJAX 服务工作所必需的。

定义:

<endpointBehaviors>
    <behavior name="EndpointBehavior">
        <enableWebScript />
    </behavior>
</endpointBehaviors>

参考:

<endpoint behaviorConfiguration="EndpointBehavior"
    binding="webHttpBinding"
    ...
/> 

【讨论】:

    猜你喜欢
    • 2013-01-08
    • 1970-01-01
    • 2010-09-16
    • 1970-01-01
    • 2013-06-10
    • 2011-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多