在VS中已经完成webApi项目,并且测试已经通过。如果想把webApi部署到iis中需要以下几步:
1、在iis中添加新的网站,并在物理路径中选上发布的项目的物理路径;
2、在VS项目所在的物理路径中找到App_Data文件夹,这个文件夹里面存的是数据库文件,在VS发布项目的时候是不会把数据库相关的内容发布出去,所以需要手动把这两个数据库文件拷贝到发布的webApi项目文件夹中;
3、给新建的网站添加一个Everyone用户(选中网站-->内容视图-->编辑权限-->安全-->编辑-->添加);
4、设置请求筛选.config;
5、在应用程序池中找到新建网站的应用,设置其标识为LocalSystem(设置应用程序池默认设置-->标识);
6、绑定id地址。
注意:
1、VS发布webApi项目的时候,以文件系统的形式发布。
2、由于这次项目的数据利用的VS自带的数据库存储,并没有另外使用专门的数据库软件; 并且VS发布webApi项目的时候,并没有把数据库相关的内容发布出去,需要手动把数据库文件拷贝到发布的项目文件夹里。
3、Everyone用户是必要的,如果没有设置这个用户的话会出现如下图的错误:
4、标识为LocalSystem;如果标识设置成NetworkService、ApplicationPoolIdentity、LocalService,浏览器会报错:
"Message":"出现错误。","ExceptionMessage":"在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: SQL Network Interfaces, error: 50 - 发生了 Local Database Runtime 错误。无法创建自动实例。有关错误详细信息,请参阅 Windows 应用程序事件日志。\r\n)