【问题标题】:Asp.Net - Using Mailto during debugging on LocalHostAsp.Net - 在 LocalHost 上调试期间使用 Mailto
【发布时间】:2012-09-14 04:46:22
【问题描述】:

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

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

我的公司已经使用这行代码(其中“email_address”是个人的电子邮件)来允许用户向人们发送电子邮件,并且它正在处理我们在网络服务器上部署的应用程序。但是,当我在调试(Visual Studio 2010,LocalHost)时单击发送电子邮件时,出现以下错误:

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

【问题讨论】:

  • 这不是代码行本身 - mailto: 只是调用默认邮件应用程序。 Outlook 有点不寻常,因为在处理 mailto: 链接时,撰写电子邮件对话是模态的——我不知道为什么。 可能如果浏览器已由 VS 启动并且 VS 使用与您自己不同的凭据运行,则浏览器窗口可能无权调用 Outlook,但我不确定为什么会发生这种情况。作为测试,尝试以管理员身份运行 VS(右键单击或 Shift-右键单击图标,具体取决于它的位置)。这至少可能会缩小可能性
  • 嗯,你是对的@Basic!如果我以管理员身份运行,则链接似乎有效。此外,当我更改它调试的浏览器时,虽然不是以管理员身份运行,但链接有效。所以一定是VS2010在调试时使用的默认浏览器。
  • 点击发送电子邮件如果可行,试试这个
  • 您是否在您的站点中使用身份验证,具体来说,您是否使用 Active Directory/集成 Windows 身份验证?如果是这样,该页面具有某些属性(服务器端)并作为访问用户运行,而不是作为网络服务器。我不认为同样适用于客户端,但必须承认我从未测试过它。哪个浏览器有问题? IE?我们正在处理什么版本的 office/outlook?

标签: asp.net anchor mailto


【解决方案1】:

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

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

您可以使用诸如来自 SysInternals(现为 Microsoft)的 ProcMon 之类的工具来追踪问题。实际上,我建议您购买the entire suite 的工具,因为那里有一些非常方便的工具。

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

【讨论】:

  • 我运行了该工具,但没有任何条目返回失败。访问注册表时,有几个条目以 NO NAME FOUND 的形式返回。否则他们都是成功的。
  • 您可能想要调查No name founds,但它们并不是特别不寻常 - 应用程序通常会尝试读取而不是首先检查密钥是否存在,因为它是一个操作而不是两个操作。这确实意味着它失败的原因没有操作系统级别的安全原因(没有 reg/文件系统访问问题)。听起来 Outlook 内部发生了一些逻辑检查失败,它称之为权限失败。恐怕我不知道为什么/可能是什么。您可以尝试附加调试器,但如果没有源代码,那将是一场噩梦。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-12-06
  • 1970-01-01
  • 2017-10-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多