2

我有一个在 Asp.NET MVC 中开发的应用程序,我正在使用 Framework Postal MVC,它用于将视图作为电子邮件发送。

它工作正常,没有问题,但是,今天开始向我显示以下消息:

虚拟路径“/”映射到另一个应用程序,这是不允许的。

仅当我尝试使用SendAsync(发送电子邮件的异步方法)时才会发生这种情况,但是,它之前可以正常工作。此外,如果我使用发送(同步方法发送电子邮件)它工作。

我没有更改属性、代码等的任何内容。

我记得我做过的最重要的事情是发布应用程序,但是,在代码或配置中,我没有再做任何更改。

看起来在做异步时丢失了 HttpContext。

-- 当我在我的 Web.config 中添加以下参数时,异步方法再次开始工作:

<add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />
4

1 回答 1

0

同样,它也对我有用,突然之间,我开始在异步 AJAX 方法上遇到该错误。所以显然我正在复制整个错误的文件夹......但它连续工作了数周,因为在此之前,它已正确部署(使用 Publish 方法)。但不知何故,它开始意识到我没有发布(我想我在短时间内更改了很多次)并开始显示错误。

解决方法是使用 Publish 方法正确部署。之后,它可以在没有上面提到的 web.config 修复的情况下工作aspnet:UseTaskFriendlySynchronizationContext(在 下<appsettings>)。

于 2017-04-24T04:01:31.313 回答