我想知道我的编码是否正确。要手动将文件上载到我的工作场所服务器,我必须使用登录ID和密码。使用下面的clode,我是否应该包括我的loginID和密码?
public void SaveLogsToWeb(string logFileName)
{
WebClient webClient = new WebClient();
string webAddress = null;
try
{
webAddress = @"http://myCompany/ShareDoc/";
webClient.Credentials = CredentialCache.DefaultCredentials;
WebRequest serverRequest = WebRequest.Create(webAddress);
WebResponse serverResponse;
serverResponse = serverRequest.GetResponse();
serverResponse.Close();
webClient.UploadFile(webAddress + logFileName, "PUT", logFileName);
webClient.Dispose();
webClient = null;
}
catch (Exception error)
{
MessageBox.Show(error.Message);
}
}当我运行它时,异常抛出"(401)未授权“
谢谢。
发布于 2010-01-19 11:45:09
切勿在代码文件中包含用户/密码信息。抛出401的原因是因为internet用户和它正在运行的应用程序池对您试图写入的目录没有写入权限。
右键单击该目录,并将/ASPNET和/Network服务添加为具有写入权限的用户。这应该会解决这个问题。确保隔离目录。
这里有一篇关于它的很好的msdn文章:http://support.microsoft.com/kb/815153
发布于 2012-10-31 23:13:01
也许很晚了,但你可以在webClient.Upload..之前添加以下两行来修复它:
webClient.Headers["Accept"] = "/";
webClient.Headers.Add(HttpRequestHeader.UserAgent, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");https://stackoverflow.com/questions/2090907
复制相似问题