WCF和接受Stream的方法

时间:2015-03-18 08:58:45

标签: c# wcf

我有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)

  

没有端点侦听“地址”可以接受该消息。这通常是由错误的地址或SOAP操作引起的。有关更多详细信息,请参阅InnerException(如果存在)。

和InnerException:

  

远程服务器返回错误:(404)Not Found。

我所知道的:

接收方通过fille的两项服务正在运作

接收器服务是可访问的,我可以通过网络浏览器访问它

正如WebInvoke(UriTemplate = "UploadFile")那样,我们已经关闭了通过“address”/ UploadFile发送流的软件,它正常工作。

1 个答案:

答案 0 :(得分:0)

项目设置中存在问题:

enter image description here

我已将服务从ReceiverService.svc重命名为ReceiverProcess.svc但在Web>中重命名。开始行动>特定页面仍然是ReceiverService.svc,将其更改为ReceiverProcess.svc就可以了!:)

希望这可以帮助某人。