ASP.NET Visual Studio2010 发布Web网站问题详解
今天研究了一下如何发布web网站,之前总是没耐心,遇到点问题就没心情搞了,今天总算有点耐心搞明白了。其实遇到的问题还是挺多的,网上也没有太全的解释,所以结合自己还有别人的方法进行一下总结。
环境:Win7系统,Visual Studio 2010,IIS6.1
关于发布部分,大家可以查看此链接http://wanghaitaoboke.blog.163.com/blog/static/1708725122012527716235/,步骤写的很详细。补充一下:在其第二步【发布Web】部分,【目标文件】处要选择一个非项目工程所在文件夹。
如果大家各方面设置的都比较好,看完上面的文章你的网站就已经发布了,在局域网内已经可以浏览了。不过,通常如果你是首次发布,应该不会那么顺利。重点在下面:
当在地址栏中输入设定的IP地址+端口号后可能出现以下几种情况。
问题一,检测到在集成的托管管道模式下不适用的ASP.NET设置。
解决办法:打开IIS,选择应用程序池,会看到右侧的操作栏中有一项为【设置应用程序池默认设置】,点击进入,把【启用32位应用程序】置为true,把【托管管道模式】置为Classic。如图
问题二,由于Web服务器的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面。
解决办法:打开IIS,选择根目录,双击【ISAPI和CGI限制】这项,然后将【ASP.NET v4.0.30319】这两项均设置成允许。如图
问题三,没有可访问的表。请确保在Global.asax中注册了至少一个数据模型并启用了基架,或者实现自定义页面。
解决办法:打开工程,打开Global.asax文件,在RegisterRoutes 方法下我们可以看到下面内容
// 重要: 数据模型注册
// 取消对此行的注释,为 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 写的数据部分。修改后是这个样子
DefaultModel.RegisterContext(typeof(BmsContextDataContext), new ContextConfiguration() { ScaffoldAllTables = true });
修改之后,不要忘记重新再发布一次。
问题四,不能打开数据库,登录失败
解决办法:这个问题刚出来的时候有点懵,以为是IIS设置的问题,后来仔细一瞅,隐隐觉得似曾相识,通过查看数据库连接,发现果然是连接数据库上出现了问题,跟IIS设置无关。而这个问题的解决方法在以前的一篇文章中详细写过,遇到这个问题的时候,都是这么解决的,大家可以看以下链接:http://zhouhongyu1989.blog.51cto.com/2931598/1390501
解决了以上几个问题之后,再次登录发布后的网站,就能正常访问了,然后又在同局域网的其他机器上验证了一下,也没什么问题。
ASP.NET Visual Studio2010 发布Web网站问题详解的更多相关文章
- Asp.net中web.config配置文件详解(一)
本文摘自Asp.net中web.config配置文件详解 web.config是一个XML文件,用来储存Asp.NET Web应用程序的配置信息,包括数据库连接字符.身份安全验证等,可以出现在Asp. ...
- 如何利用IIS调试ASP.NET网站程序详解
如何利用IIS调试ASP.NET网站程序详解 更新时间:2019年01月13日 08:44:13 作者:江湖逍遥 我要评论 这篇文章主要给大家介绍了关于如何利用IIS调试ASP.NET网 ...
- ASP.NT运行原理和页面生命周期详解及其应用
ASP.NT运行原理和页面生命周期详解及其应用 1. 下面是我画的一张关于asp.net运行原理和页面生命周期的一张详解图.如果你对具体不太了解,请参照博客园其他帖子.在这里我主要讲解它的实际应用. ...
- C#中web.config文件详解
C#中web.config文件详解 一.认识Web.config文件 Web.config 文件是一个XML文本文件,它用来储存 ASP.NET Web 应用程序的配置信息(如最常用的设置ASP.NE ...
- Web.xml配置详解(转)
Web.xml配置详解 Posted on 2010-09-02 14:09 chinaifne 阅读(295105) 评论(16) 编辑 收藏 1 定义头和根元素 部署描述符文件就像所有XML文件一 ...
- [深入学习Web安全](5)详解MySQL注射
[深入学习Web安全](5)详解MySQL注射 0x00 目录 0x00 目录 0x01 MySQL注射的简单介绍 0x02 对于information_schema库的研究 0x03 注射第一步—— ...
- 2-4、nginx特性及基础概念-nginx web服务配置详解
Nginx Nginx:engine X 调用了libevent:高性能的网络库 epoll():基于事件驱动event的网络库文件 Nginx的特性: 模块化设计.较好扩展性(不支持模块动态装卸载, ...
- web.xml配置详解之listener
web.xml配置详解之listener 定义 <listener> <listener-class>nc.xyzq.listener.WebServicePublishLis ...
- Web存储使用详解(本地存储、会话存储)
Web存储使用详解(本地存储.会话存储)1,Web存储介绍HTML5的Web存储功能是让网页在用户计算机上保存一些信息.Web存储又分为两种:(1)本地存储,对应 localStorage 对象.用于 ...
随机推荐
- ie7间隙问题
正常浏览器显示,如谷歌浏览器: ie7浏览器效果如图: html代码: <ul> <li class="current"><a href=" ...
- HTML中DOM元素的子节点为空?!firstChild, lastChild, childeNodes[]为空
- 为 JSON 字符串创建对象
---------------------------页面效果---------------------------------- ---------------------------代码实现--- ...
- Linux sort和uniq命令的应用
sort: 选项: -b 忽略每行前面开始出的空格字符 -c 检查文件是否已经按照顺序排序 -d 排序时,处理英文字母.数字及空格字符外,忽略其他的字符 -f 排序时,将小写字母视为大写字母 -i 排 ...
- 51 Nod 1067 博弈 SG函数
1067 Bash游戏 V2 1 秒 131,072 KB 10 分 2 级题 有一堆石子共有N个.A B两个人轮流拿,A先拿.每次只能拿1,3,4颗,拿到最后1颗石子的人获胜.假设A B都非常聪 ...
- python高级(二)—— python内置序列类型
本文主要内容 序列类型分类: (1)容器序列.扁平序列 (2)可变序列.不可变序列 列表推导式 生成器表达式 元组拆包 切片 排序(list.sort方法和sorted函数) bisect pytho ...
- js高级程序设计 笔记 --- 错误处理、json和ajax
1,错误处理 1,try-catch语句 try{可能导致错误的代码} catch(error) {在错误发生时该怎么处理} error.message是所有浏览器都支持的属性. finally语句是 ...
- ACM-素数专题(持续更新)
埃拉托斯特尼筛法,或者叫埃氏筛法(听上去似乎很高大上的样子) #include<bits/stdc++.h> using namespace std; typedef long long ...
- PIE SDK Command&&Tool工具命令一览表
PIE SDK Command&&Tool工具命令一览表 编号 模板 名称(中文) Command&Tool 程序集 备注 1 数据管理 加载栅格数据 PIE.Controls ...
- 深刻理解Python中的元类(metaclass)(转)
转载地址:http://blog.jobbole.com/21351/ 另外有几点理解记录下: 创建一个实例时,有时会传入参数,这些参数会同时传入 __init__() 和 __new__(),如: ...