Web应用程序与Web站点区别
在Visual Studio可以创建 Web 应用程序项目或网站项目。
每种项目类型各有优缺点,要选择可以满足需要的最佳项目类型,应了解各项目类型之间的差异。
创建项目之前,必须选择合适的项目类型,原因是从一种项目类型转换到另一种项目类型并不可行。
说明:在某些情况下,无法进行选择。 例如,如果要创建ASP.NET MVC应用程序,您必须使用 Web 应用程序项目。
web应用程序可能是微软为了让程序员很好的从winform过渡到web开发而保留了。Web网站就完全要应用到web开发的。其实两者之间没有什么大的区别,自己从表象总结了一下他们的异同点。
相同:
1、都是设计Asp网页的。
2、都可以添加ASP.Net文件夹(都包括App_Browsers、App_Data、App_GlobalResources、App_LocalResources、App_Themes)。
不同:
1、web应用程序Default.aspx显示有两个原有文件及Default.aspx.cs和Default.aspx.designer.cs;Web网站Default.aspx显示有一个原有文件Default.aspx.cs。
2、web应用程序有重新生成和发布两项;Web网站只有一个发布网站。
3、web应用程序和一般的winform没有什么区别都有引用的是命名空间等;Web网站在引用后出现一个bin文件夹那里存放dll和pdb文件。
4、web应用程序可以作为类库被引用;Web网站则不可以作为类库被引用。
5、web应用程序可以添加ASP.Net文件夹中 不包括bin、App_Code;Web网站可以添加ASP.Net文件夹包括bin、App_Code。
6、web应用程序还可添加组件和类;Web网站则没有。
7、源文件虽然都是Default.aspx.cs但是web应用程序有命名空间,多了一项System.Collections空间引用。
方案
优先选择Web 应用程序项目的情况:
-
要在多个web项目之间的项目依赖项。
-
您希望编译器为整个站点创建单个程序集。
-
您要控制为站点生成的程序集的名称和版本号。
-
需要避免将源代码放置在生产服务器上。
-
需要使用 Visual Studio 中提供的自动化部署工具。
优先选择Web网站项目的情况包括:
-
可以在单个web项目中包含C#和Visual Basic代码。
-
需要在 Visual Studio 中打开生产站点和使用 FTP 对其进行实时更新。
-
不希望必须显式编译项目才能部署项目。
-
您希望能够通过仅将新版本复制到生产服务器,或通过在生产服务器上直接编辑文件来更新生产中的各个文件。
-
如果预编译站点,您希望能够更新各 ASP.NET 网页(.aspx文件),而无需重新编译整个网站。
-
您希望在生产服务器上保留源代码,以便用作附加备份副本
部署
1、web网站部署,很简单,直接将源文件复制到iis下网站目录(或者虚拟目录)
2、web应用程序部署,参考:VS2012发布web应用程序
右键程序项目-发布,配置各项
自定义,根据你的项目名称输入一个名称(自动创建配置文件),
下一步,发布方法:Web Deploy(发布到测试的IIS计算机), 服务器:localhost (发布到测试的IIS计算机,输入 localhost 或您的计算机的名称。),站点名称:IIS中建一个存放目录(hyweb\hy\Application\power)(输入IIS网站和应用程序的名称。)
下一步,配置选择Release
在连接字符串框中,选择或输入指向目标数据库的连接字符串。
这里要用 用户名和密码的方式登录(SQL Server方式),而不能是Integrated Security=True(windows身份验证)。否者出现
下一步,预览,发布。
参考:VS2012发布web应用程序
遇到的问题
1、我的数据库是在vs2012中直接创建的,而本地SQL是2008版的,在将vs中创建的数据库文件附加到本地sql中时会发生错误
原因:706的版本是SQL2012的,用SQL2008附件不了的
解决办法:
在vs中打开数据库,导出其sql脚本,用记事本打开,复制在sql管理软件中执行(得先创建好数据表)