您的位置:首页 > 编程语言 > ASP

发布ASP.NET MVC 4.0 网站到Web服务器上遇到的若干问题

2015-08-07 14:40 1021 查看
昨晚领导要就就目前的开发进度发布一个演示版本,发过来一个地址。在之前的公司有DBA和Archi 把环境搭建好,很少为这些事情操心。没想到本来认为挺容易分分钟搞定的事情,也遇到了一些波折。所以就这些问题做一个记录,以备以后查阅。

第一,数据库迁移问题。

本机开发时并未咨询领导生产环境配置,直接用SQL Server 2012建立的数据库。给开通的虚拟机上SQL Server的版本是 SQL Server 2008 R2,于是发现直接附加数据库和备份还原都搞不定了。在网上查询后,最后用导出脚本的办法解决。

右击数据库,选择“任务”-》“生成脚本”,一路下一步,在“设置脚本编写选项”中,点击“高级”按钮,之后在弹出的对话框下拉,找到“要编写脚本的数据的类型”,选择“架构和数据”,然后生成脚本。将脚本放到服务器上,脚本里该有的都有了,挑需要的执行就可以了。





第二 登录服务器数据库,很弱智的问题。发现sa登录不上去,检查了服务是开启的,经领导提醒,在登录时的“服务器名称”还要加上实例名,因为服务器装了 SQL Server 2008 和 SQL Server 2008 r2两个版本。



第三个问题,

提示“HTTP 错误 404.2 - Not Found 由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面”,解决方法是在”CGI和ISAP限制“菜单中添加 ASP.NET v4.0.30319, 32位与64位都需要添加;期间我考虑到我开发用的是Visual Studio 2013,也把程序的.net 版本从4.5降到了4.0,如果不降是否可以没试过;同时也重新注册了,注册命令如下:

32位的Windows:

1. 运行->cmd

2. cd C:\Windows\Microsoft.NET\Framework\v4.0.30319

3. aspnet_regiis.exe -i

64位的Windows:

1. 运行->cmd

2. cd C:\Windows\Microsoft.NET\Framework64\v4.0.30319

3. aspnet_regiis.exe -i



第四个问题,“未能加载文件或程序集 System.Web.Http.WebHost bala bala”,如下图所示:



在网上查了蛮久的,解决方法如下:

在项目的引用中打开确实的程序集,右键属性中选择“复制本地”为“True”,之后重新发布,会有新的提示,缺失其他程序集,一样按照如上步骤操作。我这次发布一共缺了3个程序集,重新搞了3次就好了。



第五个问题,用户 'IIS APPPOOL\***' 登录失败

因为IIS 应用程序池的用户验证模式与SQL Server的用户验证模式不一致,应在应用程序池的高级设置里做如下修改:



第六个问题,配置了端口后外网不能访问,原因是还需要配置防火墙,在入站和出站规则中分别添加两条规则,设置指定端口为允许访问接口。





Over。

补充(20151218):

第七个问题:

未能写入输出文件“c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\6c38cd96\5d7883ef\App_Web_index.cshtml.a8d08dba.0bm2lph6.dll”--“拒绝访问。



在应用程序池的“高级设置”=》“进程模型”中,设置“加载用户配置文件”为True即可。



第八个问题:

当面对新数据库,但没有sa账号密码,且Windows 账户无法登录时,进行如下设置,启用SqlServer的单用户模式,然后再使用Windows账号登录即可。

据网上查找的结果,设置SqlServer为单用户模式后,任何系统管理员都可以以Windows账号方式登录,无论是否在数据库中配置账号。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: