部署问题及解决方案
1.网站部署之后,不能通过IP进行访问
解决方案:设置入站规则
http://jingyan.baidu.com/article/6c67b1d6e9c8d12787bb1e9f.html
- 新建入站规则
在“管理工具”中打开“服务器管理器”。展开“配置”-“高级安全”windows防火墙,右击“入站规则”,选择“新规则”
- 选择防火墙规则类型
在规则类型页面中选择“端口”,单击“下一步”。
- 选择协议和端口
在协议和端口页面中选择“TCP”和“特定本地端口”并输入“21”单击“下一步”。 5
- 指定要执行的操作
在操作页面中选择“阻止连接”,单击下一步步骤阅读
- 选择配置文件
在配置文件页面中选择“域”“专用”“公用”,单击“下一步”步骤阅读
- 指定入站规则名称
在名称页面中输入名称和描述,然后单击“完成”按钮。
2.访问api,页面报404错误
解决方案:Windows Server2008R2中部署WebAPI
https://zhidao.baidu.com/question/619238223435005492.html
- 在iis中选中需要设置的webapi站点,双击“处理程序映射”,在弹出框中添加对webapi的请求映射。
- 请求路径:api /*
可执行文件:%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll,注意32位和64位路径的区别。
名称:webapi,自定义名称即可
- 修改应用程序池的管道模式
将webapi的应用程序池的管道模式修改为经典
- 更新dll
映射添加之后,访问站点,不会报404错误了,但会报一些dll文件未能加载,一共有4个,名称分别如下:
System.Web.WebPages.Deployment.dll
Microsoft.Web.Infrastructure.dll
System.Web.WebPages.Razor.dll
System.Web.WebPages.dll - 测试
http://118.244.217.53:8099/api/menu验证是否正确
3.文件访问被拒绝
解决方案:设置文件加夹读写权限
- 右键文件夹属性->安全->添加->高级->立即查找
- 添加Asp.net Machien Account、IIS Iusrs,并设置权限
4.Com组件报错:检索 COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件失败,原因是出现以下错误: 80070005 拒绝访问。 (异常来自 HRESULT:0x80070005 (E_ACCESSDENIED))。
解决方案:设置使用IIS中的ASP.NET的模拟用户,Web.config添加以下:
<system.web>
<identity impersonate="true" userName=" " password="" />
</system.web>
5.模板上传失败的原因:未建立模板文件目录
6.部署到服务器,不执行Put,Delete方法
修改配置:
配置文件在这里:C:\Windows\System32\inetsrv\config\applicationhost.config
需要注意的是该文件无法直接打开,先转跳至目录内在进行操作即可。
在这个文件内找到handlers标记,该标记下有所有模块的配置,修改对应模块允许的谓词即可,将PUT和DELETE进去即可
如:
<add name="SimpleHandlerFactory-ISAPI-4.0_64bit" path="*.ashx" verb="GET,HEAD,POST,DEBUG,PUT,DELETE" modules="IsapiModule" scriptProcessor="C:\Windows \Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />