Asp.Net-在本地主机上调试期间使用Mailto

Asp.Net-在本地主机上调试期间使用Mailto,asp.net,anchor,mailto,Asp.net,Anchor,Mailto,我的Asp.Net应用程序中有一行代码,如下所示: <a href="mailto:email_address">Click To Email</a> 我的公司使用了这一行代码(其中“email_address”是该人的电子邮件)允许用户向该人发送电子邮件,它正在web服务器上开发我们部署的应用程序。但是,当我在调试(Visual Studio 2010,LocalHost)时单击发送电子邮件时,会出现以下错误: 有人知道是什么导致了这个错误吗?{不是答案,但是评

我的Asp.Net应用程序中有一行代码,如下所示:

<a href="mailto:email_address">Click To Email</a>

我的公司使用了这一行代码(其中“email_address”是该人的电子邮件)允许用户向该人发送电子邮件,它正在web服务器上开发我们部署的应用程序。但是,当我在调试(Visual Studio 2010,LocalHost)时单击发送电子邮件时,会出现以下错误:


有人知道是什么导致了这个错误吗?

{不是答案,但是评论太长了}

我不知道具体是什么导致了这个问题,但很可能是浏览器在由VS启动时使用的权限略有修改,因此没有启动Outlook所需的权限

您可以使用诸如SysInternals(现在的Microsoft)中的工具来追踪问题。事实上,我建议你准备一些工具,因为那里有一些非常方便的工具


在任何情况下,启动procmon并添加一个过滤器,这样您只能通过outlook查看活动。将会有很多条目,但在某个时刻,可能就在显示错误消息之前,您应该会看到一些标记为
失败的条目和一些权限详细信息。这至少可以让您确定outlook在遇到权限问题时试图访问的内容,也可以让您确定正在使用的凭据是否是您期望的(您的)。

这不是代码行本身-
mailto:
只是调用默认的邮件应用程序。Outlook有点不寻常,因为在处理mailto:links时,撰写电子邮件的对话是模态的——我不知道为什么。如果浏览器是由VS启动的,并且VS使用与您不同的凭据运行,则浏览器窗口可能没有调用outlook的权限,但我不确定为什么会发生这种情况。作为测试,尝试以管理员身份运行VS(右键单击或Shift右键单击图标,具体取决于图标所在的位置)。这可能至少缩小了可能性。嗯,你说得对@Basic!如果我以管理员的身份运行,那么链接似乎可以正常工作。此外,当我更改它在其中调试的浏览器时,而不是以管理员身份运行时,该链接会起作用。因此,VS2010在调试时使用的默认浏览器一定有点问题。如果有效,请尝试此方法。您是否在站点中使用身份验证,特别是使用Active Directory/Integrated Windows Auth?如果是这样的话,页面将具有某些属性(服务器端)并作为访问用户运行,而不是作为Web服务器运行。我不认为应用客户端是相同的,但必须承认我从未测试过它。哪个浏览器出现问题?艾美?我们正在处理什么版本的office/outlook?我运行了该工具,没有任何条目返回为失败。当点击注册表时,有几个条目返回为找不到名称。否则它们都是成功的。你可能想调查
找不到名字
s,但它们并不是特别不寻常——通常应用程序会尝试读取而不是首先检查密钥是否存在,因为这是一个操作而不是两个操作。这确实意味着没有操作系统级别的安全原因导致它失败(没有注册表/文件系统访问问题)。听起来好像Outlook内部发生了一些逻辑检查失败,它称之为权限失败。恐怕我不知道原因/可能是什么。您可以尝试附加调试器,但如果没有源代码,这将是一场噩梦。