2012-09-21 45 views
1

調試過程中使用郵寄地址我有一個行的代碼作爲我的Asp.Net應用程序如下:Asp.Net - 在localhost

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

我的公司已經使用這個代碼確切線(其中「EMAIL_ADDRESS」是該人的電子郵件)以允許用戶向人員發送電子郵件,並且正在Web服務器上部署的應用程序上工作。然而,當我點擊發送一封電子郵件,而我調試(Visual Studio 2010中,本地主機),我收到以下錯誤:

enter image description here

有誰知道是什麼原因造成這個錯誤?

+1

這不是代碼本身 - 「mailto:」只是調用默認的郵件應用程序。 Outlook在處理mailto:鏈接時有點不尋常,撰寫電子郵件對話是模式化的 - 我不知道爲什麼。這是可能的,如果瀏覽器已經由VS啓動並且VS以自己的不同憑據運行,那麼瀏覽器窗口可能沒有調用Outlook的權限,但我不知道爲什麼會發生這種情況。作爲測試,嘗試以管理員身份運行VS(右鍵單擊或按住Shift鍵右鍵單擊該圖標,具體取決於它的位置)。這可能至少縮小了可能性 – Basic

+0

嗯,你是對的@基本!如果我以管理員身份運行,那麼鏈接似乎正在工作。另外,當我更改它調試的瀏覽器時,而不是作爲管理員運行,鏈接工作。所以必須是VS2010在調試時使用的默認瀏覽器。 –

+0

Click To Email 試試這個,如果它的工作 –

回答

0

{不是一個答案,但過長的註釋}

我不知道發生了什麼特別引起問題,但它很可能那就是當VS推出,因此沒有按瀏覽器略有修改權限運行沒有啓動Outlook所需的權限。

您可以使用SysInternals(Now Microsoft)中的工具(如ProcMon)跟蹤此問題。其實,我建議你得到the entire suite的工具,因爲那裏有一些非常方便的工具。

在任何情況下,啓動procmon並添加一個過濾器,以便您只通過outlook查看活動。會有很多條目,但在某些時候,可能在顯示錯誤消息之前,您應該會看到一些標記爲FAILED的條目以及一些權限的詳細信息。這將至少允許您確定在訪問權限問題時,outlook正嘗試訪問哪些內容,還可能允許您確定正在使用的憑據是否是您期望的憑據(您的)。

+0

我運行了該工具,沒有條目返回失敗。點擊註冊表時,有幾個條目回到了NO NAME FOUND。否則,他們都是成功的。 –

+0

您可能想要調查'找不到名稱',但它們並不特別 - 通常應用程序會嘗試讀取而不是檢查是否存在第一個鍵,因爲它不是一個操作。這確實意味着沒有操作系統級別的安全性原因(沒有註冊/文件系統訪問問題)。這聽起來像是在Outlook內部發生了一些邏輯檢查,這是失敗的,它調用了權限失敗。恐怕我不知道爲什麼/可能是什麼。你可以嘗試附加一個調試器,但沒有源代碼,這將是一場噩夢。 – Basic