Web服务从App_Data文件夹中打开文档

时间:2013-09-24 07:08:21

标签: c# asp.net webforms

我需要知道是否可以使用Web服务,只需单击链接即可打开.docx,.doc,.pdf等文件。

我的情景。我有一个表单,收集某些用户详细信息,如姓名,地址,...评论,并上传一个或两个文件,如简历,项目报告等。

当表单经过验证时,此信息存储在数据库中,电子邮件将发送到xyz@abc.com电子邮件地址,并附上表单详细信息,以便管理员始终通过电子邮件接收信息,因为它更快

我需要通过电子邮件发送上传的文件作为附件,或者编写可以打开相关文件的代码。

我不确定我是否需要网络服务。

请告知最佳方法。

我的网站是基于asp.net的。 C#。

1 个答案:

答案 0 :(得分:1)

在这种情况下,您并不需要Web服务。

只需将邮件程序代码委派给后端例程(业务逻辑层),该例程可以使用常规System.Net.Mail将文件作为附件提取。使用smtp.SendAsync代替smtp.Send,这样您就不会阻止自己的网络表单。您的后端例程甚至可以是像WCF这样的服务。或者单独的.dll。只是取决于你如何构建你的图层。

但是,如果您的邮件程序代码位于代码隐藏本身而不是其他层或层,那么SendAsync可能会变得棘手。然后你有几个选择:

  1. 使用页面上的async指令将其设为async页面。或者,
  2. 产生一个线程来完成工作,比如.... System.Threading.ThreadPool.QueueUserWorkItem ...
  3. 还有其他解决方法,如此链接中提到的:http://blog.jdconley.com/2009/01/fire-and-forget-email-webservices-and.html

    我建议您将工作委托给您的业务逻辑层,以便您轻松完成。

    当然,如果开销不大,你可以随时使用smtp.Send同步工作。