我在Asp.NET MVC中开发了一个应用程序,我使用Framework Postal MVC,用于将视图作为电子邮件发送。
它工作正常,没有问题,但今天,开始向我展示以下信息:
虚拟路径' /'映射到另一个应用程序,这是不允许的。
只有当我尝试使用 SendAsync (异步方法发送电子邮件)时才会发生这种情况,但是,它之前没有问题。此外,如果我使用发送(同步方法发送电子邮件),它可以工作。
我没有对属性,代码等进行任何更改
我记得最重要的事情就是发布应用程序,但是,在代码或配置中,我没有再做任何更改。
看起来在执行异步时会丢失HttpContext。
- 当我在Web.config中添加以下参数时,Async方法又开始工作了:
<add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />
答案 0 :(得分:0)
同样它也适合我,突然间我开始在异步AJAX方法上得到错误。所以显然我正在复制整个文件夹,这是错误的...但它已经工作了几个星期,因为在此之前,它已正确部署(使用Publish方法)。但不知怎的,它开始意识到我没有发布(我想我在很短的时间内改变了很多次)并开始显示错误。
修复方法是使用Publish方法正确部署。
之后,它没有上面针对aspnet:UseTaskFriendlySynchronizationContext
提到的web.config修复(在<appsettings>
下面)。