ASP.NET Visual Studio2010 发布Web网站问题详解

简介:

今天研究了一下如何发布web网站,之前总是没耐心,遇到点问题就没心情搞了,今天总算有点耐心搞明白了。其实遇到的问题还是挺多的,网上也没有太全的解释,所以结合自己还有别人的方法进行一下总结。

环境:Win7系统,Visual Studio 2010,IIS6.1

关于发布部分,大家可以查看此链接http://wanghaitaoboke.blog.163.com/blog/static/1708725122012527716235/,步骤写的很详细。补充一下:在其第二步【发布Web】部分,【目标文件】处要选择一个非项目工程所在文件夹。

如果大家各方面设置的都比较好,看完上面的文章你的网站就已经发布了,在局域网内已经可以浏览了。不过,通常如果你是首次发布,应该不会那么顺利。重点在下面:

当在地址栏中输入设定的IP地址+端口号后可能出现以下几种情况。

问题一,检测到在集成的托管管道模式下不适用的ASP.NET设置。

wKioL1POFKTgahLxAAeP-N2p45M282.jpg

解决办法:打开IIS,选择应用程序池,会看到右侧的操作栏中有一项为【设置应用程序池默认设置】,点击进入,把【启用32位应用程序】置为true,把【托管管道模式】置为Classic。如图

wKioL1POFL7iEPsNAAJZdLWZ2p0111.jpg

问题二,由于Web服务器的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面。

wKiom1POE9Oh4aDqAAjgluflWzE001.jpg

解决办法:打开IIS,选择根目录,双击【ISAPI和CGI限制】这项,然后将【ASP.NET v4.0.30319】这两项均设置成允许。如图

wKioL1POFQXTVRklAAMMOPZtvoo976.jpg

wKiom1POE_zzzQm6AAHXQ6mhlfM949.jpg

问题三,没有可访问的表。请确保在Global.asax中注册了至少一个数据模型并启用了基架,或者实现自定义页面。

wKiom1POFCHBOZUAAAgX0pU9_J8622.jpg

解决办法:打开工程,打开Global.asax文件,在RegisterRoutes 方法下我们可以看到下面内容

1
2
3
4
5
6
7
8
9
             //                    重要: 数据模型注册 
             // 取消对此行的注释,为 ASP.NET Dynamic Data 注册 LINQ to SQL 模型。
             // 若要设置 ScaffoldAllTables = true,需符合以下条件,
             // 即确定希望数据模型中的所有表都支持基架(即模板)。若要控制各个表的
             // 基架,请为表创建分部类并将
             // [ScaffoldTable(true)] 特性应用于分部类。
             // 注意: 请确保将“YourDataContextType”更改为应用程序的数据上下文类的
             // 名称。
             // model.RegisterContext(typeof(YourDataContextType), new ContextConfiguration() { ScaffoldAllTables = false });

把代码段解注后,用自己创建的上下文替换YourDataContextType,把ScaffoldAllTables 置为true,我用的是Linq to Sql 写的数据部分。修改后是这个样子

1
             DefaultModel.RegisterContext( typeof (BmsContextDataContext),  new  ContextConfiguration() { ScaffoldAllTables =  true  });

修改之后,不要忘记重新再发布一次。

问题四,不能打开数据库,登录失败

wKiom1POFFvS3BfVABFLAhUKktA768.jpg

解决办法:这个问题刚出来的时候有点懵,以为是IIS设置的问题,后来仔细一瞅,隐隐觉得似曾相识,通过查看数据库连接,发现果然是连接数据库上出现了问题,跟IIS设置无关。而这个问题的解决方法在以前的一篇文章中详细写过,遇到这个问题的时候,都是这么解决的,大家可以看以下链接:http://zhouhongyu1989.blog.51cto.com/2931598/1390501

解决了以上几个问题之后,再次登录发布后的网站,就能正常访问了,然后又在同局域网的其他机器上验证了一下,也没什么问题。










本文转自 我不会抽烟 51CTO博客,原文链接:http://blog.51cto.com/zhouhongyu1989/1441389,如需转载请自行联系原作者

目录
相关文章
|
14天前
|
开发框架 缓存 前端开发
利用Visual Basic构建高效的ASP.NET Web应用
【4月更文挑战第27天】本文探讨使用Visual Basic与ASP.NET创建高效Web应用的策略,包括了解两者基础、项目规划、MVC架构、数据访问与缓存、代码优化、异步编程、安全性、测试及部署维护。通过这些步骤,开发者能构建出快速、可靠且安全的Web应用,适应不断进步的技术环境。
|
1天前
|
XML 开发框架 .NET
C#/ASP.NET应用程序配置文件app.config/web.config的增、删、改操作
C#/ASP.NET应用程序配置文件app.config/web.config的增、删、改操作
|
4天前
|
开发框架 JSON .NET
.Net4.0 Web.config 配置实践
.Net4.0 Web.config 配置实践
|
12天前
|
中间件 Go API
Golang深入浅出之-Go语言标准库net/http:构建Web服务器
【4月更文挑战第25天】Go语言的`net/http`包是构建高性能Web服务器的核心,提供创建服务器和发起请求的功能。本文讨论了使用中的常见问题和解决方案,包括:使用第三方路由库改进路由设计、引入中间件处理通用逻辑、设置合适的超时和连接管理以防止资源泄露。通过基础服务器和中间件的代码示例,展示了如何有效运用`net/http`包。掌握这些最佳实践,有助于开发出高效、易维护的Web服务。
27 1
|
2月前
|
开发框架 前端开发 .NET
进入ASP .net mvc的世界
进入ASP .net mvc的世界
32 0
|
2月前
|
存储 PHP 数据库
使用Net2FTP轻松打造免费的Web文件管理器并公网远程访问
使用Net2FTP轻松打造免费的Web文件管理器并公网远程访问
|
3月前
|
SQL 开发框架 .NET
ASP.NET WEB+EntityFramework数据持久化——考核练习库——1、用户管理系统(考点:查询列表、增加、删除)
ASP.NET WEB+EntityFramework数据持久化——考核练习库——1、用户管理系统(考点:查询列表、增加、删除)
72 0
|
9天前
|
关系型数据库 MySQL
web简易开发(二){html5+php实现文件上传及通过关键字搜索已上传图片)}
web简易开发(二){html5+php实现文件上传及通过关键字搜索已上传图片)}
|
2天前
|
前端开发 JavaScript Java
Java与Web开发的结合:JSP与Servlet
Java与Web开发的结合:JSP与Servlet
7 0
|
2天前
|
存储 程序员 API
python web开发示例详解
python web开发示例详解
11 0