簡體   English   中英

StreamWriter引發IOException登錄失敗:用戶名未知或密碼錯誤

[英]StreamWriter throws IOException Logon failure: unknown user name or bad password

我正在嘗試將我的Web服務寫入我們Intranet上的共享驅動器。 我的StreamWriter上出現IOException

 string fullpath = path + "\\" + fileName;
 using (System.IO.StreamWriter file = new System.IO.StreamWriter(fullpath, append))
 {           
     file.WriteLine(contents);
     file.Close();
 }

我所看到的例外

IOException - Logon failure: unknown user name or bad password 

如果我理解正確,則IIS Web服務器的用戶需要具有訪問寫入共享驅動器的權限。 我想知道現在是否有一種方法可以對憑據進行硬編碼,以便寫入共享驅動器以進行調試。 如何為StreamWriter提供憑據,或者應該使用其他機制?

我研究了模擬( 在C#服務器上使用StreamWriter ),並希望在可能的情況下將其用作最后的手段。

無論何時以編程方式寫入網絡驅動器,都將使用啟動程序所使用的用戶名和密碼。 除非您使用域,否則這將產生錯誤,因為網絡驅動器無法識別您的用戶名和密碼。

因此,要解決此問題,您所需要做的就是運行與其他用戶相同的代碼。 基本上,這是您要避免的模擬工作,但是我發現了一個有用的Stack Overflow線程 ,它對此進行了解釋,並提供了指向包裝器類的鏈接,您可以在代碼中使用這些包裝器類來簡化事情。

就這么簡單(來自thread ):

using (Impersonation.LogonUser(domain, username, password, logonType))
{
        // do whatever you want as this user.
}

這應該可以解決您的問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM