C# ReST POST请求方法错误404

C# ReST POST请求方法错误404,c#,wcf,rest,C#,Wcf,Rest,我想创建一个web应用程序,它使用ReSTful结构接受单个POST方法来更新数据库 我的问题是,当我将一个JSON对象发布到URL(使用fiddler)时,我收到一个错误404 我尝试调用的方法使用以下属性公开: [WebInvoke(Method="POST", UriTemplate="projectors", RequestFormat=WebMessageFormat.Json,BodyStyle=WebMessageBodyStyle.Wrapped )] [OperationCon

我想创建一个web应用程序,它使用ReSTful结构接受单个POST方法来更新数据库

我的问题是,当我将一个JSON对象发布到URL(使用fiddler)时,我收到一个错误404

我尝试调用的方法使用以下属性公开:

[WebInvoke(Method="POST", UriTemplate="projectors", RequestFormat=WebMessageFormat.Json,BodyStyle=WebMessageBodyStyle.Wrapped )]
[OperationContract]
void RecordBreakdown(string sn, int modelCode); 
web配置文件有一个绑定到公开方法的服务,下面是一个抽象:

<system.serviceModel>
  <bindings/>
  <services>
      <service name="VIServiceToolServiceLibrary.ProjectorService"
               behaviorConfiguration="RESTBehaviour">
      <endpoint address="" 
              binding="webHttpBinding"
              contract="VIServiceToolServiceLibrary.IProjectorService"
               behaviorConfiguration="RESTEndPointbehaviour"  />
      <host>
        <baseAddresses>
          <add baseAddress="http://localhost:8080/projectorservice/" />
        </baseAddresses>
      </host>
    </service>
  </services>

<behaviors>      
  <serviceBehaviors>
    <behavior name="RESTBehaviour">
      <serviceMetadata httpGetEnabled="true"/>
      <serviceDebug includeExceptionDetailInFaults="true"/>
    </behavior>
  </serviceBehaviors>      
  <endpointBehaviors>
    <behavior name="RESTEndPointbehaviour">
      <webHttp/>
    </behavior>
  </endpointBehaviors>      
</behaviors>
但是当我发布一个请求时,我收到一条404错误消息

POST http://localhost/vi/projectors HTTP/1.1
User-Agent: Fiddler
Host: localhost
Content-Length: 27

{sn:"23434", modelCode:34 }

谢谢,发生404错误有两个原因

第一:基址不正确。我使用的命名约定来自于一个被替代的早期版本

第二:POST方法中的url不正确。我应该在url中包含服务文件的名称,比如localhost/vi/Service.svc/projectors

我还发现下面的文章很有帮助
要解决此问题,配置中的基址和正在运行的本地主机端口看起来不同。使用正确的基址,然后try您的基址与fiddler请求不同,项目是否正在运行,或者它是否已托管在Iis中?我正在Iis中测试。我已将基址更改为:并且接口中的URI协定更改为UriTemplate=“vi/projectors”-仍然显示错误404(我已发布对iis的新更改)。基址错误,我在url中缺少suffex.svc。应该是的。如果你们中的任何一个想要得到分数,你可以发布一个答案,否则我将自己给出答案
POST http://localhost/vi/projectors HTTP/1.1
User-Agent: Fiddler
Host: localhost
Content-Length: 27

{sn:"23434", modelCode:34 }