VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 编程开发 > c#教程 >
  • C#教程之C#教程之office web app server部署和简单操作

本站最新发布   C#从入门到精通
试听地址  
https://www.xin3721.com/eschool/CSharpxin3721/

部署环境:windows server 2012 R2,服务器在AD域中

 

参考网址:

https://msdn.microsoft.com/zh-cn/magazine/jj219455(office.15).aspx

http://www.cnblogs.com/yanweidie/p/4516164.html

1.安装windows server 2012 R2,注意不要用预览版,并安装windows更新,重启服务器

 

2.安装.NET Framework 4.5.2

 

3.以管理员身份打开 Windows PowerShell 提示符,然后运行此命令示例来安装必需的角色和服务,重启服务器

Add-WindowsFeature Web-Server,Web-Mgmt-Tools,Web-Mgmt-Console,Web-WebServer,Web-Common-Http,Web-Default-Doc,Web-Static-Content,Web-Performance,Web-Stat-Compression,Web-Dyn-Compression,Web-Security,Web-Filtering,Web-Windows-Auth,Web-App-Dev,Web-Net-Ext45,Web-Asp-Net45,Web-ISAPI-Ext,Web-ISAPI-Filter,Web-Includes,InkandHandwritingServices,NET-Framework-Features,NET-Framework-Core,NET-HTTP-Activation,NET-Non-HTTP-Activ,NET-WCF-HTTP-Activation45

 

4.安装Office Web Apps Server,一般为iso文件,如:cn_office_web_apps_2013_x64_dvd_1133682.iso

 

5.下载并安装 Office Web Apps Server SP1,wacserversp2013-kb2880558-fullfile-x64-glb.exe

 

6.为 Office Web Apps Server 安装语言包,Microsoft 从这个地址下载,如:wacserverlanguagepack.exe

 

7.为服务器配置AD域,从计算机属性页面-计算机名称、域和工作组设置中可设置。并添加一个AD域账户,赋予服务器管理员权限

 

8.用该账户登录服务器,以管理员身份打开 Windows PowerShell 提示符,使用 New-OfficeWebAppsFarm 命令创建一个包含一台服务器的新 Office Web Apps Server 场,如以下示例中所示

New-OfficeWebAppsFarm -InternalURL "http://servername" -ExternalUrl "https://server.external.contoso.com" -AllowHttp -EditingEnabled
  • –InternalURL 内部访问地址,一般是http://机器名.AD域控地址

  • –AllowHttp  是否允许http访问

  • - ExternalUrl 外部访问地址,一般是服务器的ip地址。
  • –EditingEnabled 在 Office Web Apps 中启用编辑(如果它与 SharePoint 2013 一起使用)。Lync Server 2013 或 Exchange Server 2013 不使用此参数,因为这些主机不支持编辑。

更多参数使用请查看:https://msdn.microsoft.com/zh-cn/magazine/jj219436.aspx

如果没有报错,访问地址 http://机器名.AD域控地址//hosting/discovery,可看到wopi-discovery文档

 

第二部分  使用WOPI实现文档在线预览和编辑(编辑支持docx,xlsx,pptx,不支持doc,xls,ppt;在线查看上述都支持

1.代码地址:https://github.com/marx-yu/WopiHost 有两个分支,主分支对应的是 Office online 2016,release_0.8_for_owa2013对应office web app server 2013,我们使用此分支的代码

 

2.切换到此分支后,需要另外引用Microsoft.CobaltCore.dll。在部署office web app server的服务器上可搜索到该dll。

 

3.由于我是用虚拟机部署部署office web app server,需要修改CobaltServer.cs文件的里的地址,使得虚拟机可以访问该地址。如果端口号被占用,也需要修改。

复制代码
 public CobaltServer(string docsPath, int port = 8082)
        {
            m_docsPath = docsPath;
            m_port = port;
        }

        public void Start()
        {
            m_listener = new HttpListener();
            m_listener.Prefixes.Add(String.Format("http://10.204.13.78:{0}/wopi/", m_port));
            m_listener.Start();
            m_listener.BeginGetContext(ProcessRequest, m_listener);

            Console.WriteLine(@"WopiServer Started");
        }
复制代码

 

4.文件放置根目录在Program.cs文件里,可以自行修改

 

5.运行程序,访问地址,可查看word文档test.docx,注意:test.docx必须在4所说的根目录下,其他更多url地址访问参考wopi-discovery文档

http://机器名.AD域控地址/wv/wordviewerframe.aspx?WOPISrc=http://10.204.13.78:8081/wopi/files/test.docx&access_token=06l%20hXK6zWTUi

 

注:

1.docx文件保存需要点击保存按钮,而xlsx文件不用。

2.docx文件打开编辑页面存在缓存bug,即打开页面后关闭,在本地用office修改文件,再次用浏览器打开编辑页面,仍为原来的页面,office online server (查看  http://www.cnblogs.com/ldybyz/p/6645127.html)则不会有这个问题

 

 

6.office web app server的日志记录在  %programdata%\Microsoft\OfficeWebApps\Data\Logs\ULS\,需要服务器显示隐藏文件夹和管理员权限,方便查看错误信息以便定位错误。

 

7.wopi相关文档: https://wopi.readthedocs.io/en/latest/

 

 其他相关博客:

http://www.cnblogs.com/poissonnotes/p/3267190.html

 

其他源码示例:

https://code.msdn.microsoft.com/office/Building-an-Office-Web-f98650d6

https://github.com/thebitllc/WopiBasicEditor  

https://github.com/Microsoft/Office-Online-Test-Tools-and-Documentation

https://github.com/oec2003/OWAEditorSample.git

 

office online server(office web app server升级版) 相关文档:

https://technet.microsoft.com/zh-cn/library/jj219437(v=office.16).aspx

http://www.cnblogs.com/love007/p/6274910.html

 

其他文章:

http://www.wictorwilen.se/Tags/Office%20Web%20Apps

相关教程