【发布时间】:2016-01-31 07:26:17
【问题描述】:
我有一个用 Asp.NET MVC 开发的应用程序,我正在使用 Framework Postal MVC,它用于将视图作为电子邮件发送。
它工作正常,没有问题,但是,今天开始向我显示以下消息:
虚拟路径“/”映射到另一个应用程序,这是不允许的。
只有当我尝试使用 SendAsync (发送电子邮件的异步方法)时才会发生这种情况,但是,它以前可以正常工作。此外,如果我使用 Send(同步方法发送电子邮件),它可以工作。
我没有对属性、代码等进行任何更改。
我记得做过的最重要的事情是发布应用程序,但是在代码或配置中,我没有再做任何更改。
看起来在做异步时会丢失 HttpContext。
-- 当我在 Web.config 中添加以下参数时,Async 方法再次开始工作:
<add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />
【问题讨论】:
-
代码不会自发中断,某些东西发生了变化,无论是你做了还是你的网络管理员做了,代码都不能工作一段时间然后生锈并停止工作.. .
-
@RonBeyer 它发生在我的开发环境中,我正在发布它以投入生产环境。
-
你的意思是
development environment && Production environment从来没有听说过用于环境的术语ambient我以前在复制项目而不设置虚拟目录和/或在目标环境如果环境在同一台机器上,我希望这不是你的情况。当你右键单击项目并点击Web --> Project URL下的属性时会发生什么你的URL看起来像什么还有一个创建虚拟目录按钮他们太.. -
还可以尝试将以下内容放在正斜杠
~/的前面 -
@MethodMan 你是对的,是环境,而不是环境。关于 URL,它是 localhost:58893,还有一个创建虚拟目录按钮
标签: c# asp.net asp.net-mvc iis-7 postal