大型B2B网站开发手记 1

时间:2023-03-08 16:55:01
大型B2B网站开发手记 1

本手记记录所有该B2B网站开发中遇到的问题和解决方法,一方面给大家一些思路,一方面提升自己,记录整个过程

1. 测试环境部署问题

部署环境是server2012 R2,部署上去发现WCF报错如下

svc 报“由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序。如果应下载文件,请添加 MIME 映射。“的HTTP 错误 404.3 – Not Found


查到解决方案如下

管理员身份运行C:\Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\ServiceModelReg.exe -i

结果坑爹了,我们的WCF是.net4.0的结果以3.0注册了

再搜解决方案,如下

C:\Windows\Microsoft.NET\Framework\v4.0.30319,然后输入命令aspnet_regiis.exe -i -enable

但是很遗憾,server2012报如下结果

C:\Windows\Microsoft.NET\Framework\v4.0.30319>aspnet_regiis.exe -i -enable
Microsoft (R) ASP.NET RegIIS 版本 4.0.30319.33440
用于在本地计算机上安装和卸载 ASP.NET 的管理实用工具。
版权所有(C) Microsoft Corporation。保留所有权利。
开始安装 ASP.NET (4.0.30319.33440)。
此操作系统版本不支持此选项。管理员应使用“打开或关闭 Windows 功能”对话框、“服
务器管理器”管理工具或 dism.exe 命令行工具安装/卸载包含 IIS8 的 ASP.NET 4.5。有
关更多详细信息,请参见 http://go.microsoft.com/fwlink/?LinkID=216771。
ASP.NET (4.0.30319.33440)安装完毕。

后来想着卸载IIS(因为framework4.5是在IIS里面不能单独卸载)然后重装一遍,果断在控制面板->启用关闭程序里面去掉IIS,然后重启服务器

结果坑爹坑大了,再进服务器发现黑屏了,只有一个cmd,真是疯了。。。。

继续查资料,原来server2012有2种模式,GUI模式和Core模式,Core模式只提供命令栏,不能可视化操作,而server2012里面的GUI是基于framework4.5的,也就是说由于我删掉了IIS就删掉了framework4.5,所以GUI模式也不能启用了,真是日了哮天犬了。。。好在后来找了半天还是找到解决方案:

在命令行输入如下命令:Dism /online /enable-feature /all /featurename:Server-Gui-Mgmt /featurename:Server-Gui-Shell /featurename:ServerCore-FullServer    等待一段时间,重启以后就可以了。


好了,server的操作界面回来了,然后继续查资料,终于找到解决方案,将IIS里面程序池托管管道模式都改成经典,然后把高级设置里面把启用32位应用开启,问题终于解决了,WCF也没问题了

接下来部署web程序,发现老是报错

未能加载文件或程序集System.Web.Http 吧啦吧啦

未能加载文件或程序及System.Web.http.webhost 吧啦吧啦。。。。

等等等等

于是我手工从本机找到一个个的程序集,然后拷贝到部署的目录的bin下面,问题才解决了,部署的服务器上终于可以正常使用了