如何使用WCF发送电子邮件附件/小文件?

时间:2011-07-21 17:33:14

标签: c# .net wcf .net-4.0

我想问你关于使用WCF发送文件的问题。 我想实现服务,发送传真和电子邮件。我的情况如下:

  • 该服务将托管在Windows服务中。
  • 我想仅在本地网络上显示此服务。 (所以我可能会使用netTcpBinding)
  • 当一个想要发送传真或发送带附件的电子邮件的客户必须只使用具有特定参数的“SendFax”功能时,这将是很棒的。我的意思是..怎么做,所以对客户来说这很简单?
  • 我认为最大的附件可能高达20MB,我不知道传真的样子。但我认为这将是MS Word文件,所以20MB会上限。

我想问你如何实现WCF服务的服务器端部分? 使用缓冲上传或流式上传? 你能给我一个好的例子或文章的链接吗?

任何帮助都会很棒, 谢谢

2 个答案:

答案 0 :(得分:1)

WCF服务端点可以接受可变大小的字节数组,因此客户端将pdf,word等文档作为byte []发送到服务时不应该成为问题。需要调整默认的netTcpBinding设置以适应较大的文件大小。

答案 1 :(得分:0)

您的Windows服务将托管您的WCF端点(例如,SendDocument())。

该方法的服务实现将使用标准的 System.Net.Mail.SmtpClient 类来发送电子邮件。请参阅SmtpClient的MSDN文档,尤其是MailMessage类,其中包括您可以使用的附件属性。