ASP.Net WebClient登录失败:未知的用户名或密码错误

时间:2017-12-02 11:32:15

标签: c# asp.net sql-server file-upload sp-send-dbmail

我正在尝试使用来自我的ASP.NET网站的SQL Server数据库邮件发送附件的电子邮件,因此我想我需要将要附加的文件上传到托管数据库的服务器。 / p>

问题是,我的ASP.NET网站的Web服务器和数据库位于不同的服务器上。服务器也在不同的域上。

这是我到目前为止所做的:

我在托管数据库的服务器中的路径\\myservername\myfolder\下共享了一个文件夹。以下代码是将所选文件上载到共享文件夹中。

这是.aspx页面中的ASP.NET webforms文件上传控件:

<asp:FileUpload ID="fu" runat="server" />

这是我的代码隐藏:

 NetworkCredential myCred = new NetworkCredential("myusername", "mypassword", "mydomain");

 using (WebClient webclient = new WebClient())
 {
     webclient.UseDefaultCredentials = true;
     webclient.Credentials = myCred;

     if (fu.HasFile)
     {
         string path = string.Empty;
         string ServerPath = "\\\\myservername\\myfolder\\";
         string filename = Path.GetFileName(fu.FileName);
         string TempPath = Path.Combine(Path.GetTempPath(), filename);
         fu.SaveAs(TempPath);
         path = Path.Combine(ServerPath, filename);
         Uri ServerFile = new Uri(path);
         webclient.UploadFile(ServerFile, "PUT", TempPath);
         return path;
     }
     else
     {
         return "";
     }
 }

如果我在托管网站的Web服务器的服务器之前登录到共享文件夹,或者在调试网站时我在本地计算机上登录了共享文件夹,则代码可以正常工作。

但是如果我事先没有登录,它会抛出异常消息: Logon failure: unknown user name or bad password.

我尝试通过添加包含我的用户名,密码和网络客户端域名的网络凭据来解决此问题,但即使我确定已通过正确的凭据,也会出现同样的错误。

有没有办法解决这个问题,还是我在这里误解了什么?我不太明白问题是什么。非常感谢任何帮助。

0 个答案:

没有答案