C# RESTful WCF服务返回“;找不到该资源。”;错误

C# RESTful WCF服务返回“;找不到该资源。”;错误,c#,.net,wcf,rest,C#,.net,Wcf,Rest,我有一个不起作用的RESTful服务。在地址栏中键入URI时,收到以下错误: 找不到资源 描述:HTTP404。您正在查找的资源(或其依赖项之一)可能已被删除、名称已更改或暂时不可用。请检查以下URL并确保其拼写正确 请求的URL:/VirtualRUS/Service1.svc/ 我不知道为什么它不起作用。我将代码和web.config与工作示例进行了比较,没有发现任何差异 编辑:此外,如果我使用服务引用,我可以很好地使用该服务。如果我导航到URI,或者更重要的是,当我尝试发出WebReque

我有一个不起作用的RESTful服务。在地址栏中键入URI时,收到以下错误:

找不到资源

描述:HTTP404。您正在查找的资源(或其依赖项之一)可能已被删除、名称已更改或暂时不可用。请检查以下URL并确保其拼写正确

请求的URL:/VirtualRUS/Service1.svc/

我不知道为什么它不起作用。我将代码和web.config与工作示例进行了比较,没有发现任何差异

编辑:此外,如果我使用服务引用,我可以很好地使用该服务。如果我导航到URI,或者更重要的是,当我尝试发出
WebRequest
时,它就不起作用了

有人知道为什么这样不行吗

Service1.cs:

[ServiceContract]
public interface IService1
{
   [OperationContract]
   [WebGet(UriTemplate = "/")]
   string Test(); 
}
[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall)]
public class Service1 : IService1
{
   public string Test()
   {
      return "It works!!";
   }
}
Service1.svc.cs:

[ServiceContract]
public interface IService1
{
   [OperationContract]
   [WebGet(UriTemplate = "/")]
   string Test(); 
}
[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall)]
public class Service1 : IService1
{
   public string Test()
   {
      return "It works!!";
   }
}
Web.Config:

[ServiceContract]
public interface IService1
{
   [OperationContract]
   [WebGet(UriTemplate = "/")]
   string Test(); 
}
[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall)]
public class Service1 : IService1
{
   public string Test()
   {
      return "It works!!";
   }
}


您的端点不是REST端点,而是“普通”SOAP端点(二进制编码/http传输)。REST端点是使用特定绑定(webHttpBinding)和行为(webHttp)定义的。另外,添加服务引用对REST端点不起作用,这也表明如果它对您起作用,那么您就没有使用REST端点

要将端点更改为RESTful,可以更改web.config,如下所示(它实际上是在已有的SOAP端点之外添加了一个REST端点)



你能发布Service1.svc和web.config的内容吗?我真的不知道如何发布Service1.svc的内容。当我在解决方案资源管理器中双击它时,它会打开Service1.svc.cs。您可以通过右键单击它并选择“查看标记”查看Service1.svc的内容嘿,我如何才能给您10票:)。。谢谢你的解决方案