我打开一个工作项并进入"附件"选项卡。 我双击.doc附件。 它不是在 Word 中打开文件,而是启动浏览器,这反过来又会关闭文件。
有没有办法让TFS直接在Word中运行附件?
附件通过给定的 URL 从服务器访问:
http://mytfs/tfs/default/WorkItemTracking/v1.0/AttachFileHandler.ashx?FileID=115&FileName=mydoc.doc
Visual Studio基本上是做这个URL的Shell Exec,它会启动你的默认Web浏览器。
工作项窗体有两个实现:
- 桌面一:它执行shell执行 网络
- 一:您已经在网络浏览器中
所以没有其他方法,我怀疑网络上是否有自定义工具来缩短该过程......
查看 AttachFileHandler.ashx 的 HTTP 响应标头,"问题"是因为内容作为文件返回:
HTTP/1.1 200 OK
Cache-Control: private
Content-Length: 11688
Content-Type: application/octet-stream
Server: Microsoft-IIS/7.0
X-AspNet-Version: 4.0.30319
content-disposition: filename=Screenshot.png
X-Powered-By: ASP.NET
Date: Fri, 17 Aug 2012 08:51:44 GMT
它是强制"另存为"对话框的content-disposition
标头,即使浏览器只能直接显示图像。请参阅 w3.org 中关于 19.5.1 内容处置的说明:
如果此标头用于具有应用程序/八位字节流内容类型的响应中,则隐含的建议是用户代理不应显示响应,而是直接输入"将响应另存为..."。对话。
我怀疑 TFS 是这样做的,以便它可以返回任何文件,而不管接收浏览器是否可以本机处理内容,例如,使用 PDF 插件。也许可以修改AttachFileHandler.ashx以更改其返回内容的方式?