Visual Studio中的WCF Restful服务端点给出404

本文关键字:端点 服务 Restful Studio 中的 WCF Visual | 更新日期: 2023-09-27 18:00:14

我一直在努力为用Visual Studio创建的简单Web服务确定正确的端点,但我一直收到404个错误。我以前只用C#做过另一个web服务,以前也遇到过同样的错误,我认为我终于弄清楚了语法。

web.config:

 <services>
      <service name="LDAPws.LDAPService" behaviorConfiguration="LDAPServiceBehavior">
        <endpoint address="" binding="webHttpBinding" contract="LDAPws.LDAPServiceInterface" />
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
      </service>
    </services>
    <behaviors>

webServiceContract.cs:

namespace LDAPws
{
[ServiceContract(Name = "LDAPService")]
public interface LDAPServiceInterface
{
    //GET operation
    [OperationContract]
    [FaultContract(typeof(GetResourcesFaultContract))]
    [WebGet(UriTemplate = "/echo", ResponseFormat = WebMessageFormat.Json)]
    string sayHello();

webServiceLib.cs

namespace LDAPws
{
    [ServiceBehavior(InstanceContextMode = InstanceContextMode.Single)]
    [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
    public class LDAPService : LDAPServiceInterface
    {

        public string sayHello()
        {
            return "Hello";
        }

网址:

http://localhost:8585/ldapws/ldapservice/echo

我想不出我做错了什么。我的目标是在Visual Studio中托管Dot-Net Framework 4.0。我以为默认的URI是namespace.webservicename/parameters,但这对我不起作用。在web.config中添加baseaddress和address似乎也没有帮助。

如有任何帮助,我们将不胜感激。

Visual Studio中的WCF Restful服务端点给出404

我发现了问题的根源:

我错过了添加global.asax文件和将服务添加到项目中。即

    protected void Application_Start(object sender, EventArgs e)
    {
        RouteTable.Routes.Add(new ServiceRoute("LDAPws", new WebServiceHostFactory(), typeof(LDAPService)));  
    }