研究今天宣布,有关如何web网站,以前总是不耐烦,遇到的问题没有心情搞点,总算有点耐心搞明确了。

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

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

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

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

重点在以下:

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

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

<img src="http://img.blog.csdn.net/20140729215042136?

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhbmdob25namllMDMwMg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center” alt=””>

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

如图

<img src="http://img.blog.csdn.net/20140729215119514?

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhbmdob25namllMDMwMg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center” alt=””>

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

教你如何发布自己的网站-风君雪科技博客

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

如图

<img src="http://img.blog.csdn.net/20140729215209824?

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhbmdob25namllMDMwMg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center” alt=””>


问题三,没有可訪问的表。请确保在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 });

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

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

<img src="http://img.blog.csdn.net/20140729215349087?

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhbmdob25namllMDMwMg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center” alt=””>

        解决的方法:这个问题刚出来的时候有点懵。以为是IIS设置的问题。后来细致一瞅,隐隐认为似曾相识,通过查看数据库连接。发现果然是连接数据库上出现了问题,跟IIS设置无关。而这个问题的解决方法在曾经的一篇文章中具体写过,遇到这个问题的时候。都是这么解决的,大家能够看下面链接:http://zhouhongyu1989.blog.51cto.com/2931598/1390501攻克了以上几个问题之后,再次登录公布后的站点,就能正常訪问了。然后又在同局域网的其它机器上验证了一下。也没什么问题。

 

版权声明:本文博主原创文章,博客,未经同意不得转载。