[英]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.