我继承了一个用VB.NET编写的程序。我想在SharePoint在线库中托管程序的安装程序和文档。SPO库允许对"除外部用户外的所有人"进行"查看/只读"访问。但它不允许匿名访问。我希望程序在启动时检查SPO库是否有更新版本。
我设想了这样一个简单的函数:
Private Function getVersion() As String
Using client As New WebClient
getVersion = client.DownloadString("https://companyname.sharepoint.com/site/library/version.txt")
End Using
End Function
其中version.txt只包含当前版本号。
然而,这个函数抛出一个IOException,表示连接被远程主机强制关闭。我想这是因为SPO站点需要认证。
我不想仅仅为这一件事添加用户登录步骤。这可能意味着需要身份验证的SPO站点不是我的version.txt文件驻留的理想位置,但我也在努力避免需要我跳过各种障碍并让其他人参与进来才能使其工作的解决方案。我是这个程序的唯一开发人员,所以我希望能够发布更新,而不必等待其他人做一些事情(比如更新我没有访问权限的web服务器)。
有什么简单的技巧可以达到我的目标吗?在Using
块中,在DownloadString
行之前,设置WebClient
的Credentials
:
Private Function getVersion() As String
Using client As New WebClient
client.Credentials = CredentialCache.DefaultCredentials
getVersion = client.DownloadString("https://companyname.sharepoint.com/site/library/version.txt")
End Using
End Function
DefaultCredentials
将是当前登录Windows用户的凭据。
参见System.Net.WebClient
的文档。