VS2010发布Web网站技术攻略

 更新时间:2015年07月22日 16:42:30   投稿:lijiao  
本篇文章主要包含了完整的发布网站步骤、发布网站过程中可能遇到的问题,以及配套的解决方法,相信感兴趣的朋友一定会喜欢这篇文章的

VS2010 Web网站发布详解
对VS2010来说,发布Web是一件相当容易的事情,也许就是这个原因导致网上关于发布网站具体细节的资料很少。然而这些正是初学者所需要的,下面我详细介绍一下Web网站发布的具体过程。
第一步:在解决方案资源管理器中右击Web应用程序名(例如:newsSystem)——》点击发布,如图所示:

第二步:在弹出的对话框中,发布方法选:文件系统,目标位置自定义(如:选桌面的test文件夹),勾选“发布前删除所有现有文件”单选框,然后点击发布即可。如图:

补充一下:在其第二步【发布Web】部分,【目标文件】处要选择一个非项目工程所在文件夹。

接下来我们会在test文件夹下看到我们需要的文件,下图是test文件夹下的文件和原来项目中的文件对比:

第三步:在IIS中发布网站。右击计算机——》管理,打开计算机管理窗口,点击“服务和应用程序”下的“Internet 信息服务(IIS)管理器”,如图所示:

第四步:右击应用程序池,添加应用程序池,在弹出的“添加应用程序池”窗口中,填写名称,.NET Framework 版本根据你开发程序用到的.NET Framework版本定,确定即可。

第五步:右击“网站”,添加网站,在“添加网站”窗口中,填写网站名称,应用程序池选上一步新建的应用程序池,物理路径指向第二步输出的文件夹,“链接为”选特定用户,并输入你的用户名和密码,IP地址填本机IP。确定即可。如图所示:

到目前为止,我们的Web网站就发布成功了,此时就可以通过浏览器输入网址查看我们的网站了。

VS2010 发布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()

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

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

解决办法:这个问题刚出来的时候有点懵,以为是IIS设置的问题,后来仔细一瞅,隐隐觉得似曾相识,通过查看数据库连接,发现果然是连接数据库上出现了问题,跟IIS设置无关。

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

以上是本篇文章的全部内容,希望对大家的学习有所帮助。

相关文章

  • 详解如何在ASP.Net Core中实现健康检查

    详解如何在ASP.Net Core中实现健康检查

    这篇文章主要介绍了详解如何在ASP.Net Core中实现健康检查,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • 灵活使用asp.net中的gridview控件

    灵活使用asp.net中的gridview控件

    这篇文章主要介绍了如何灵活使用asp.net中的gridview控件,并进行了案例分析与实现,文章末尾还附加了datePicker插件的使用方法,感兴趣的小伙伴们可以参考一下
    2015-11-11
  • asp.net中动态改变网页标题的代码

    asp.net中动态改变网页标题的代码

    asp.net中动态改变网页标题的代码,需要的朋友可以参考下。
    2011-02-02
  • .NET Core下使用Log4Net记录日志的方法步骤

    .NET Core下使用Log4Net记录日志的方法步骤

    这篇文章主要介绍了.NET Core下使用Log4Net记录日志的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • Asp.net后台把脚本样式输出到head标签中节省代码冗余

    Asp.net后台把脚本样式输出到head标签中节省代码冗余

    最近在学习开发服务器控件,其它就少不了为控件注册js和css之类的资源文件,或者直接注册纯脚本样式。其中就遇到如下问题     1、 注册的资源文件或纯脚本样式在生成的页面中都不在head标签中(当然这个不影响页面功能)     2、 一个页面使用多个一样的控件时,会出现重复输入(出现多余代码)
    2013-02-02
  • sqlserver 删除重复记录处理(转)

    sqlserver 删除重复记录处理(转)

    删除重复记录有大小关系时,保留大或小其中一个记录
    2011-07-07
  • ASP.NET GridView的Bootstrap分页样式

    ASP.NET GridView的Bootstrap分页样式

    这篇文章主要为大家详细介绍了ASP.NET GridView的Bootstrap分页样式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-11-11
  • 浅析DataBinder.Eval和Eval的区别

    浅析DataBinder.Eval和Eval的区别

    缩短的Eval语法与DataBinder.Eval的不同点在于,Eval会根据最近的容器对象(例如DataListItem)的DataItem属性来自动地解析字段,而DataBinder.Eval需要使用参数来指定容器
    2013-08-08
  • ASP.NET中 Execl导出的六种方法实例

    ASP.NET中 Execl导出的六种方法实例

    这篇文章主要介绍了ASP.NET中 Execl导出的六种方法实例,有需要的朋友可以参考一下
    2013-12-12
  • asp.net实现多个文件同时下载功能

    asp.net实现多个文件同时下载功能

    这篇文章主要为大家详细介绍了asp.net实现多个文件同时下载功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04

最新评论