我需要知道是否可以使用Web服务,只需单击链接即可打开.docx,.doc,.pdf等文件。
我的情景。我有一个表单,收集某些用户详细信息,如姓名,地址,...评论,并上传一个或两个文件,如简历,项目报告等。
当表单经过验证时,此信息存储在数据库中,电子邮件将发送到xyz@abc.com电子邮件地址,并附上表单详细信息,以便管理员始终通过电子邮件接收信息,因为它更快
我需要通过电子邮件发送上传的文件作为附件,或者编写可以打开相关文件的代码。
我不确定我是否需要网络服务。
请告知最佳方法。
我的网站是基于asp.net的。 C#。
答案 0 :(得分:1)
在这种情况下,您并不需要Web服务。
只需将邮件程序代码委派给后端例程(业务逻辑层),该例程可以使用常规System.Net.Mail
将文件作为附件提取。使用smtp.SendAsync
代替smtp.Send
,这样您就不会阻止自己的网络表单。您的后端例程甚至可以是像WCF这样的服务。或者单独的.dll。只是取决于你如何构建你的图层。
但是,如果您的邮件程序代码位于代码隐藏本身而不是其他层或层,那么SendAsync
可能会变得棘手。然后你有几个选择:
async
指令将其设为async
页面。或者,System.Threading.ThreadPool.QueueUserWorkItem
... 还有其他解决方法,如此链接中提到的:http://blog.jdconley.com/2009/01/fire-and-forget-email-webservices-and.html
我建议您将工作委托给您的业务逻辑层,以便您轻松完成。
当然,如果开销不大,你可以随时使用smtp.Send
同步工作。