WCF 和接受 Stream 的方法

WCF and method accepting Stream

我有 WCF:

[ServiceContract]
public interface Receiver {

    [OperationContract, WebInvoke(UriTemplate = "UploadFile")]
    void UploadFile(Stream fileContents);
}

和 UploadFile 方法将文件保存在硬盘上,然后将其发送到其他两个服务。它托管在 IIS 7 Windows Server 2008 上。因此,在我的其他后台项目中,我向该 Receiver 服务添加了服务尊重,当我尝试时:

FileStream f = new FileStream(myString, FileMode.Open);
ReceiverServiceReference.IReceiverProcess r = new ReceivererviceReference.ReceiverProcessClient();
  try
  {
      r.UploadFile(f);
      f.Close();
   }
   catch (Exception ex)
   {
      Console.WriteLine(ex.Message);
   }

我到达 r.UploadFile(f):

There was no endpoint listening at "address" that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details.

和 InnerException:

The remote server returned an error: (404) Not Found.

我知道的:

receiver 传递 fille 的两个服务工作正常

receiver服务可以访问,我可以通过web浏览器访问它

随着 WebInvoke(UriTemplate = "UploadFile") 的进行,我们已经关闭了通过 "address"/UploadFile 发送流的软件,它工作正常。

项目设置中的问题:

我已将服务从 ReceiverService.svc 重命名为 ReceiverProcess.svc,但在 Web > 开始操作 > 特定页面中仍然 ReceiverService.svc,将其更改为 ReceiverProcess.svc 就成功了: )

希望这可以帮助别人。