这可能看起来有点疯狂,但如果你能告诉我更好的方法,请这样做。我需要一个 web 服务来显示当前版本的 mercurial 修订号。
我有一个非常简单的批处理文件,可以将此数字写入文本文件
cd C:\inetpub\wwwroot\MyWebsite
hg identify --num > services\version.txt
和一个应该调用批处理文件的方法,然后读取文件的内容,现在,写入屏幕(我在网页中执行此操作,但稍后将迁移到一个简单的服务)
Private Sub GetVersionNumber()
Dim versionFile = Server.MapPath("~/services/version.txt")
Dim batchFile = Server.MapPath("~/services/version.bat")
Process.Start(batchFile)
Dim revision As String = String.Empty
Using reader As New StreamReader(versionFile)
Do While reader.Peek() <> -1
revision = reader.ReadLine()
Loop
End Using
Response.Write(revision)
End Sub
我已授予每个人对服务目录的写入权限,并明确授予 version.txt,但是当我点击页面时,version.txt 文件始终为空。如果我在记事本++中打开了文件,那么我会收到一条消息,说文件已被另一个程序修改,我想重新加载它吗?当我这样做时,它是空的。如果我在文件中设置一些文本并保存,然后再次访问网页,我的文本文件的内容就会被清除。
我在 try/catch 块中有这个,但没有抛出异常,所以我删除了它(为了清楚起见)。
最终,我只需要获取
hg identify --num的结果,
以在网页/服务上显示为字符串,该字符串将由单独的 SharePoint 站点调用