您的位置:首页 > 运维架构 > 网站架构

教你如何发布自己的网站

2015-10-17 13:06 513 查看
研究今天宣布,有关如何web网站,以前总是不耐烦,遇到的问题没有心情搞点,总算有点耐心搞明确了。

事实上遇到的问题还是挺多的,网上也没有太全的解释。所以结合自己还有别人的方法进行一下总结。

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

关于公布部分,大家能够查看此链接http://wanghaitaoboke.blog.163.com/blog/static/1708725122012527716235/,步骤写的非常具体。补充一下:在其第二步【公布Web】部分,【目标文件】处要选择一个非项目project所在目录。

假设大家各方面设置的都比較好,看完上面的文章你的站点就已经公布了。在局域网内已经能够浏览了。只是,通常假设你是首次公布,应该不会那么顺利。

重点在以下:

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

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





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

如图





问题二,因为Webserver的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面。





解决的方法:打开IIS。选择根文件夹。双击【ISAPI和CGI限制】这项。然后将【ASP.NET v4.0.30319】这两项均设置成同意。

如图








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





解决的方法:打开project。打开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 });

改动之后,不要忘记又一次再公布一次。

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





解决的方法:这个问题刚出来的时候有点懵。以为是IIS设置的问题。后来细致一瞅,隐隐认为似曾相识,通过查看数据库连接。发现果然是连接数据库上出现了问题,跟IIS设置无关。而这个问题的解决方法在曾经的一篇文章中具体写过,遇到这个问题的时候。都是这么解决的,大家能够看下面链接:/article/4247149.html攻克了以上几个问题之后,再次登录公布后的站点,就能正常訪问了。然后又在同局域网的其它机器上验证了一下。也没什么问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: