Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 打开具有编辑权限的sharepoint库文档_C#_.net_Sharepoint_Sharepoint 2010_Ms Word - Fatal编程技术网

C# 打开具有编辑权限的sharepoint库文档

C# 打开具有编辑权限的sharepoint库文档,c#,.net,sharepoint,sharepoint-2010,ms-word,C#,.net,Sharepoint,Sharepoint 2010,Ms Word,我在sharepoint服务器上运行了一个WCF服务,它将在库中生成一个文档并返回其uri。我有一个客户端应用程序,它调用WCF服务并以刚刚生成的文档的编辑权限启动word。但是,如果我只传递word文档的URI,它将以只读模式打开文档。如果试图将旧文件保存回服务器,则在保存时会出现错误,提示文档为只读 如何从代码中启动word,使其能够将更改保存回在sharepoint服务器上打开的文件中 注意:这不是权限问题,如果我手动进入sharepoint网站,我有权单击文档并以编辑方式打开 编辑:好的

我在sharepoint服务器上运行了一个WCF服务,它将在库中生成一个文档并返回其uri。我有一个客户端应用程序,它调用WCF服务并以刚刚生成的文档的编辑权限启动word。但是,如果我只传递word文档的URI,它将以只读模式打开文档。如果试图将旧文件保存回服务器,则在保存时会出现错误,提示文档为只读

如何从代码中启动word,使其能够将更改保存回在sharepoint服务器上打开的文件中

注意:这不是权限问题,如果我手动进入sharepoint网站,我有权单击文档并以编辑方式打开


编辑:好的,我想我知道怎么做了(我将制作一个dll,让rundll.exe启动word并做保姆)。但是,我仍然想知道除了手动签入和签出文档之外,是否还有其他解决方案。

您需要在打开文档之前签出文档

SPListItem item = GetListItem();
item.File.CheckOut();


我不需要签出文档,我发现我需要启动
iexplore.exe
,使用以下代码指向URI

Process.Start("iexplore.exe", ((FileDetails)e.Result).Address);

其中,
FileDetails
是WCF服务返回的自定义对象,
.Address
是文档的URI。

是否在库上启用签入?在打开文档之前是否签出文档?@Kyle,如果启用了签入,我如何检查(如果需要,通过sharepoint designer)是否启用了签入?@Kyle Trauberman,我认为它们已启用,但我们没有使用它们。请参阅我的答案。由于已启用签入,因此在打开文档时会在文档上设置只读标志。签出文件将清除标志。office是如何完成的?我在我的计算机上从sharepoint中打开了一个文档进行编辑,然后另一个人查看了该库,它似乎没有被签出,他也可以打开它,但他收到一条警告,说该文件正在服务器上使用。office是自己签入/签出还是做了一些不同的事情?如果我不需要在客户端应用程序中包含sharepoint名称空间,那么我真的更愿意这样做。编辑:我知道我可以使用列表中内置的REST方法,但如果不需要的话,我仍然会选择不管理它。我需要照看office连接并在文件关闭时手动签入文件,还是它自己做。我只是担心人们在关闭word之前关闭我的应用程序。我知道这是你的一个老答案,但我找到了一个解决签出问题的解决方案,请参阅我的。