我有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发送流的软件,它正常工作。
答案 0 :(得分:0)
项目设置中存在问题:
我已将服务从ReceiverService.svc重命名为ReceiverProcess.svc但在Web>中重命名。开始行动>特定页面仍然是ReceiverService.svc,将其更改为ReceiverProcess.svc就可以了!:)
希望这可以帮助某人。