如果我理解正確的話,您的服務已運行愉快地使用Windows身份驗證,因此它需要調用應用程序,你的網站也可以使用Windows身份驗證。
當您嘗試添加引用時,VS將使用項目屬性中定義的任何Web服務器在後臺啓動您的站點。你說你正在使用內置的Web服務器(也被稱爲Cassini或Webdev)來啓動你的網站。您需要確保您的網站使用Windows身份驗證。您可以從服務的「項目屬性」中執行此操作(右鍵單擊根文件夾並選擇「屬性」)。在那裏您將看到一個Web選項卡,其中有一個NTLM身份驗證複選框 - 確保已選中。
此外,請確保您使用:
<system.web>
<authentication mode="Windows">
...
在你的web.config
。
但是,如果你想使用IIS本身,我假設你已經安裝了它並知道如何定義一個Web應用程序。根據您正在運行的Windows版本,您可能安裝或未安裝IIS,或者可能無法安裝(使用控制面板中的「程序和功能」)。如果您沒有IIS,則可以從此處安裝IIS Express:http://learn.iis.net/page.aspx/868/iis-express-overview/
安裝IIS並定義應用程序根目錄並將該目錄指向本地源文件夾之後,啓用Windows(NTLM)身份驗證網絡應用/網站。如何實現這一點取決於您正在運行的是哪個版本的IIS,但通常通過單擊身份驗證圖標。您可能需要禁用匿名以及啓用Windows身份驗證,以便所有請求都強制進入Windows身份驗證。對於不支持自動NTLM身份驗證的瀏覽器,我也會打開基本表單身份驗證。
一旦您定義了IIS應用程序,就可以將其用於從Visual Studio而不是內置Web服務器進行調試。您還可以通過選擇「使用本地IIS服務器」並選擇您在上面創建的IIS站點的URL來從項目屬性中執行此操作。或者,VS可以爲您創建IIS網站定義,如果它尚不存在。
上述任何一種方法都應確保當VS啓動站點添加引用時,它將使用身份驗證以及運行時。請注意,您可以手動添加參考,而無需啓動網站。然後,您只需確保您在運行時具有Windows身份驗證,如上所述。
你是通過IIS還是內置的網絡服務器來測試這個嗎? – jao 2012-03-09 13:42:21
如果已安裝,則在控制面板>打開或關閉Windows功能> Windows 7中的Internet信息服務中啓用它。 – jao 2012-03-09 13:52:20
我建議IIS Express:http://www.microsoft.com/download/en/details.aspx ?id = 1038 – jao 2012-03-09 13:58:12