关于asp.net core问题,刚刚找了个asp.net core的网站

ASP.NET Web 应用程序项目部署常见问题
MSDN Library
ASP.NET Web 应用程序项目部署常见问题
本主题提供了有关如何部署 Web 应用程序项目的常见问题的答案。
许多答案将指导您通过编辑项目文件来更改部署设置。
有关如何执行此操作的信息,请参见。
本主题包含以下各节:
可通过选中“打包/发布 Web”选项卡上的“仅限运行此应用程序所需的文件”或“此项目中的所有文件”选项来限制部署的文件。
如果您选择“此项目中的所有文件”选项,则可通过右击“解决方案资源管理器”中的某个文件并选择“从项目中排除”来阻止部署该文件。
如果这些选项对您来说不够灵活,则编辑项目文件并在适当的 PropertyGroup 元素中添加 ExcludeFilesFromDeployment 元素和/或
ExcludeFoldersFromDeployment 元素。
在每个元素中,可指定一个名称,也可以指定由分号 (;) 分隔的多个名称。
下面的示例演示针对“Debug”生成配置的 PropertyGroup 元素:
&PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "&
&ExcludeFilesFromDeployment&
File1.File2.aspx
&/ExcludeFilesFromDeployment&
&ExcludeFoldersFromDeployment&
Folder1;Folder2
&/ExcludeFoldersFromDeployment&
&!-- Other settings --&
&/PropertyGroup&
打包和发布详细级别由确定 MSBuild 详细级别的同一 Visual Studio 设置控制。
从主菜单中,选择“工具”,再选择“选项”。
在“选项”对话框中展开“项目和解决方案”,然后选择“生成并运行”。
随后将显示“MSBuild 项目生成输出详细信息”下拉列表,您可以从该列表中选择下列选项之一:
这些选项与当您从命令行运行 MSBuild 时,可通过使用 /verbosity 或 /v 标志设置的内容相对应。
有关 MSBuild 命令行标志的更多信息,请参见 。
默认情况下,Visual Studio 自动为部署生成的每个脚本都将在事务中运行。
部署全文目录的脚本无法在事务中成功运行。
因此,默认情况下,Visual Studio 不会为全文目录创建脚本。
若要更改部署,使其包括全文目录,请编辑项目文件并进行以下更改:
将自动生成的脚本的 Source 元素的 Transacted 特性设置为 False。
将自动生成的脚本的 PreSource 元素的 CopyAllFullTextCatalogs 特性设置为 True。
默认状态下,当您指定 Visual Studio 应自动生成脚本以部署数据库结构时,目标数据库中会为系统生成的对象(例如,约束)生成新名称。
如果您编写某个自定义脚本以修改或删除其中某个对象,并且如果您指定源数据库中为该脚本生成的名称,则该脚本在目标数据库中运行时可能会失败。
可以指定目标数据库中的系统生成对象的名称应与源数据库中的系统生成对象的名称相同。
为此,编辑项目文件并向自动生成的脚本的 PreSource 元素中添加以下特性:
DriIncludeSystemNames="True"
当您在“发布 Web”对话框的“服务 URL”文本框中输入一个 HTTPS URL 时,Visual Studio 将自动使用 Windows 管理服务。
若要使用 HTTPS,建议您使用 Windows 管理服务。
若要使用 tempAgent 提供程序设置,您必须使用 Web 部署命令行或使用 Visual Studio 在创建部署包时生成的 deploy.cmd 文件。
按 Ctrl-Break。
打包或发布过程将停止。
当您重新启动时,Visual Studio 将从停止处启动,而不会重做尚未完成的任何工作。
编辑项目文件并在相应的 PropertyGroup 元素中添加 CreatePackageOnPublish 元素,如以下示例所示:
&CreatePackageOnPublish&True&/CreatePackageOnPublish&
编辑项目文件并在相应的 PropertyGroup 元素中添加 DeployOnBuild 元素。
下面的示例演示针对“Release”生成配置的 PropertyGroup 元素:
&PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "&
&DeployOnBuild&True&/DeployOnBuild&
&!-- Additional settings --&
&/PropertyGroup&
还必须将 DeployDefaultTarget 元素设置为 Package。
但此操作是可选的,因为该值是默认值。
编辑项目文件并在相应的 PropertyGroup 元素中添加 IntermediateOutputPath 元素。
下面的示例演示针对“Release”生成配置的 PropertyGroup 元素:
&PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "&
&IntermediateOutputPath&Path&/IntermediateOutputPath&
&!-- Additional settings --&
&/PropertyGroup&
将 Path 替换为要在其中创建与部署包关联的所有文件的文件夹的完整 path。
可以在 IIS 7 及更高版本中做到这一点。
有关委托部署权限的信息,请参见以下主题:
Microsoft TechNet 网站上的。
IIS.NET 网站上的 (委派管理)。
(配置 Web 部署处理程序)。
运行混合了事务模式的多个脚本会导致超时错误。
默认情况下,自动生成的脚本在事务中运行。
但是,自定义脚本不在事务中运行。
因此,如果您选择“打包/发布 SQL”选项卡上的“从现有数据库中抽取数据和/或架构”选项,并且如果您添加自定义 SQL 脚本,则必须更改某些脚本上的事务设置,使所有脚本都使用相同的事务设置。
有关更多信息,请参见。
若要部署 ASP.NET 4 Web 应用程序,则必须在目标服务器上将 ASP.NET 4 注册到 IIS。
此外,必须将要部署到 IIS 网站的应用程序池分配给 .NET Framework 4。
如果未满足上述任一条件,则当您尝试部署时可能会看到下列错误之一:
默认 .NET 4.0 应用程序池不存在,或者无法添加应用程序。
请验证此计算机上是否安装了 ASP.NET 4.0。
您尝试使用的应用程序池已将“managedRuntimeVersion”属性设置为“v2.0”。
此应用程序需要“v4.0”。
在安装 Visual Studio 时将安装 ASP.NET 4。
但是,安装过程不会自动将 ASP.NET 4 注册到 IIS,并且不会自动将现有 IIS 网站分配给 .NET 4 应用程序池。
若要纠正此错误,请将 ASP.NET 注册到 IIS,并将目标 IIS 网站的应用程序池设置为包所需的 .NET Framework 版本。
有关如何注册 IIS 的信息,请参见 。
在某些方案中,如果您尝试通过将 deploy.cmd 文件与 t(测试)选项配合使用来安装某个包,则您将看到类似于以下示例的错误:
错误: 尚未提供“sitemanifest/dbFullSql[@path='C:\TEMP\AdventureWorksGrant.sql']/sqlScript”的流数据。
这意味着命令无法生成测试报告。
但是,此消息并不表示,在使用 y(实际安装)选项来运行命令时部署将失败。
此消息仅指示在测试模式下运行命令时存在问题。
此错误经常发生,因为您的数据库包含用户或角色,而您将使用不具有创建用户或角色的权限的凭据进行发布。
例如,托管公司可以将 db_datareader、
db_datawriter 和 db_ddladmin 角色分配给为您设置的用户帐户。
它们足以用来创建大多数数据库对象,但对于创建用户或角色却远远不够。
如果这是导致出现错误的原因,则您将看到与输出窗口中的以下消息类似的消息:
错误的位置大概在脚本的第“1”行和第“3”行之间。
详细日志中可能包含有关此错误的详细信息。
此命令开头为:
CREATE USER [user2] FOR LOGIN [user2] WITH DEFAULT
错误: 用户没有执行此操作的权限。
失败的命令也可能为 CREATE ROLE。
在此情况下,可通过从数据库部署中排除用户和角色来避免此错误。
可通过编辑数据库的自动生成脚本的 PreSource 元素以使其包含以下特性来做到这一点:
CopyAllUsers=false, CopyAllRoles=false
如果目标数据库中需包含开发数据库中的用户或角色,则请联系您的托管提供商以获取帮助。
如果满足下列任一条件,则可使用同一个包来部署到 IIS 6 和 IIS 7:
您未选中“打包/发布 Web”选项卡上的“包括在 IIS 管理器中配置的所有 IIS 设置”选项。
您选择了“包括在 IIS 管理器中配置的所有 IIS 设置”选项并在 IIS 6 上创建了包。
如果您选择了“包括在 IIS 管理器中配置的所有 IIS 设置”选项,则无法将包部署到在 IIS 7 上创建的 IIS 6。
可以通过在该项目的 Bin 文件夹中放置 ASP.NET Razor 和 SQL Server Compact 程序集来部署该项目。
若要在网站或 Web 应用程序项目中包含所需的程序集,请按以下步骤进行操作:
在“解决方案资源管理器”中,右击项目名称,再单击“添加可部署的依赖项”。
在“添加可部署的依赖项”对话框中,选择“带有 Razor 语法的 ASP.NET Web Pages”和“SQL Server Compact”。
单击“确定”。
现在可以像部署任何其他项目一样部署 Web 项目。
如果您的承载提供程序向您发送一个 .publishsettings 文件,则可通过将该文件放在项目根文件夹中,在 Visual Studio 中使用它。
此页面有帮助吗?
更多反馈?
1500 个剩余字符
我们非常感谢您的反馈。
开发人员中心您的位置: >
> 第 1 页
上传 , 18201 次浏览 ,
2692 次下载 , 1 个赞
, 1.07 MB , ASP.NET/MSSQL
地平线开源软件自发布第一版以来,得到了众多用户的好评,以其体积小,高效率,界面清新,管理方便而赢得好评。地平线是一款免费、极易进行二次开发的...
标签:地平线,地平线cms,地平线网站管理系统,地平线开源代码,地平线源码,网站管理,新闻文章,企业建站,个人建站
上传 , 7216 次浏览 ,
620 次下载 , 2 个赞
, 15.43 MB , ASP.NET/MySQL
近乎(Spacebuilder)是一款业内领先的SNS社区软件。借助预置的微博、群组、日志、相册、贴吧、问答等应用模块,Spacebuild...
标签:近乎,Spacebuilder,近乎社区,近乎论坛,SNS社区软件,三方QQ登陆,三方登陆支持
上传 , 8200 次浏览 ,
1060 次下载 , 1 个赞
, 3.41 MB , ASP.NET/MSSQL
启明星工作日志是一款简单的企业内部协同办公的日志软件(B/S构架)。他允许用户以outlook日历样式的方式记录自己的事件。并可以编写日志的...
标签:启明星,启明星工作日志,日志软件,公司事物分享,事物记录,协同办公,企业办公,我的计划,.net公司日志
上传 , 6667 次浏览 ,
788 次下载 , 0 个赞
, 13.66 MB , ASP.NET/MSSQL
某市的志愿者服务系统,具有组织发布活动、志愿者报名参与等功能,具体功能见《产品需求规格说明书.doc》。此软件没有源码,请下载时注意。
标签:志愿者,城市志愿者,志愿者网站,公益网站,志愿者活动,组织注册,活动发布,审核管理
上传 , 21648 次浏览 ,
5033 次下载 , 0 个赞
, 204 KB , ASP.NET/Access
HEasy客户管理软件可以快速为中小企业实现客户管理并实现协同工作,以便企业掌握各客户洽谈及订单签约状况。该客户管理软件提供给小微企以实现公...
标签:HEasy,HEasy客户关系管理,CRM系统,员工管理,公司管理,内部员工监视,.net客户关系管理源码
上传 , 20376 次浏览 ,
6624 次下载 , 0 个赞
, 951 KB , ASP.NET/Access
实现了登录、注册
实现了密码修改
实现了图书分类的添加、修改、查看
实现了新书信息的添加、修改、删除
实现了对图书的查询功能
实现了用户信息...
标签:读书管理,25175图书管理,图书管理源码,web图书管理,图书分类,新书管理,短信发送,借阅管理,在线查书,高校图书管理
上传 , 21114 次浏览 ,
7395 次下载 , 0 个赞
, 19.37 MB , ASP.NET/MSSQL
ASP三层模式 JS 还有业务数据层写得很经典哦
标签:图书,图书网站,购书网站,网上卖书,图书销售,图书网店,在线销售图书,购书网站源码
上传 , 17410 次浏览 ,
4175 次下载 , 0 个赞
, 3.43 MB , ASP.NET/MSSQL
针对Sky软件公司网站源码进行修正。修改ckeditor引用问题,发布样式错误问题。vs2010直接编译、发布成功。
网站已经配置html...
标签:sky,sky源码,sky公司源码,企业建站系统源码,网站后台源码,.net开源企业源码
上传 , 9697 次浏览 ,
1859 次下载 , 0 个赞
, 1.73 MB , ASP.NET/MSSQL
Fanmv Blog是一个基于asp.net(c#)2.0+MSSQL开发的博客管理系统,功能绝不含糊,性能十分出色,颠覆业界Blog主题模...
标签:Fanmv,Fanmv博客,Fanmvblog,博客管理,创新机制,.net博客源码
上传 , 9675 次浏览 ,
2197 次下载 , 0 个赞
, 34.92 MB , ASP.NET/MSSQL
近乎(Spacebuilder)是一款业内领先的SNS社区软件。借助预置的微博、群组、日志、相册、贴吧、问答等应用模块,Spacebuild...
标签:近乎,SNS社区源码,SNS社区代码,Spacebuilder源码,多功能应用模块,SNS源代码
上传 , 13452 次浏览 ,
2850 次下载 , 0 个赞
, 2.97 MB , ASP.NET/Access
谷昆学院网站管理软件是深图根据教育行业客户实际应用需求而提供的一套完整的学院网站应用解决方案,协助各学院网站向“服务化、学习化”的特点发展。...
标签:谷昆,谷昆学校,谷昆学校管理,学校管理源码,学校办公平台源码,高校办公源码,.net学校源码
上传 , 12377 次浏览 ,
2340 次下载 , 0 个赞
, 1.21 MB , ASP.NET/Access
启明星请假单管理系统(Appform)是利用ASP+ACCESS技术开发而成,运行于MSIIS环境下(在WINXP+IIS5.1环境下通过测...
标签:启明星,请假系统,请假管理,加班管理,.NET请假系统,在线请假管理,员工请假平台
上传 , 28988 次浏览 ,
6644 次下载 , 0 个赞
, 12.16 MB , ASP.NET/MSSQL
1、配置环境需要 iis+msql2000或者mssql2005
本程序属于伪net程序,内核是asp的,只需要asp环境即可配置,
标签:圆角分,元角分,时时彩,时时彩源码,.net时彩源码,圆角分改版平台,圆角分源代码
上传 , 26875 次浏览 ,
5538 次下载 , 0 个赞
, 5.25 MB , ASP.NET/Access/MSSQL
EoyooCMS(英文译名) 是一套基于B/S多层架构的Asp.Net开发的一套网站的内容管理系统,团队于2007年正式投入开发,是最早一批...
标签:EoyooCMS,网站内容管理系统,.netcms系统,单页,文章,图册,产品,下载,视频,人才,留言
上传 , 23724 次浏览 ,
4680 次下载 , 0 个赞
, 8.88 MB , ASP.NET/MSSQL
1.请将网站程序(upload-source)传入您的网站空间中。
2.还原数据库:本系统使用MSSQL2000,数据库文件在文件夹MSSQ...
标签:橙子518,橙子518商城,橙子518多用户商城,创想商城,创想B2B商城,,.NET电子商城
上传 , 16097 次浏览 ,
2870 次下载 , 0 个赞
, 14.91 MB , ASP.NET/MSSQL
橙子518首家分享,创想c2cV5.6.3.8多用户商城系统。已亲测,功能强大,是一款免费试用版,具体功能版权、和安装方法见压缩文件里面的“...
标签:橙子518,橙子518商城,橙子518多用户商城,创想商城,创想c2c商城,,.NET电子商城
上传 , 19637 次浏览 ,
3474 次下载 , 0 个赞
, 13.36 MB , ASP.NET/Access/MSSQL
SiteFactory 具有灵活的产品架构、严密的安全性、无限的扩展性和伸缩性,能够高效构建起各种信息资讯类网站、企业内部知识网站、企业信息...
标签:动易,动易cms,动易建站系统,SiteFactory,动易免费建站标准版,动易工厂源码
上传 , 16124 次浏览 ,
2785 次下载 , 0 个赞
, 11.95 MB , ASP.NET/MSSQL
新亿内容管理系统XinYiCMS是一个基于微软公司DotNet架构的网站内容管理系统,也是互联网从业者入门级cms产品。XinYiCMS采用...
标签:新亿,新亿系统,新亿内容管理,内容管理系统,.net内容管理系统,新亿新闻发布系统源码
上传 , 16438 次浏览 ,
4084 次下载 , 1 个赞
, 2.98 MB , ASP.NET/MSSQL
雷速工资查询系统,适用对象:需要为员工提供收入在线查询的大中型企事业单位、政府机关。
雷速工资查询系统 6.07 更新内容:
EXCEL导...
标签:雷速,雷速工资,雷速工资系统,工资查询系统,企业工资查询,政府工资查询,excel数据导入,excel数据导出
上传 , 28725 次浏览 ,
5812 次下载 , 2 个赞
, 4.03 MB , ASP.NET/Access
固定资产管理系统 ,我最近给别人开发的,可以-Fixed assets management system, I have recently...
标签:资产管理,C#资产管理系统,开源资产管理系统,固定资产管理系统,管理源码
【 深圳市宝安区石岩大文文网络策划部 】
电信与信息服务业务经营许可证: 法律顾问: 版权所有:
Copyright &
, All Rights Reserved.asp.net网站安全从小做起与防范小结
字体:[ ] 类型:转载 时间:
我是做asp.net网站开发的,QQ群里一个网友的站被挂马了。他说让我写点安全方面的文章。我就介绍下我的经验吧,各位大牛不要拿砖头砸我。。。
以下都以ASP.NET开发网站为例。 1、sql注入漏洞。 解决办法:使用存储过程,参数不要用字符串拼接。简单改进办法:使用SqlHelper和OledbHelper 2、跨站脚本漏洞 解决办法:“默认禁止,显式允许”的策略。具体参考:从客户端检测到有潜在危险的Request.Form值,禁止提交html标记(&&等被转义成&) 3、上传漏洞 解决办法:禁止上传目录的运行权限。只给读取权限。另外要禁止上传非法类型文件。不仅仅是aspx类型,包括很多,甚至htm、html类型文件也不应该直接上传保存。 4、数据库连接帐号,尽量使用最低权限的帐号。一定不要给管理员权限。 假如被黑客得知了数据库的密码。 那我们就可以执行任意系统命令了。 例如:xp_cmdshell 'dir c:\' 另外还有 tasklist taskkill pslist pskill net user net user guest /active:yes net user hack hack /add net user hack /del net localgruop administrators hack /add query user logoff 1 这些命令是不是很恐怖?呵呵。所以一定不要给web数据库连接帐号管理权限。 5、用户登录。这里不要把用户标识明文存储在cookie里,以用来标识用户是否登录。因为cookie是可以被修改的。请看这里的修改cookie,冒充其他用户。nc httpwatch使用视频教程,用微软的Forms窗体身份验证和角色一般情况都够用了。 6、如果网站程序中用到读写文件,一定要慎重,因为读取的操作很可能被黑客利用,例如用一个查看图片的aspx文件读取web.config,用一个生产模板的功能生成木马。 7、充分利用验证码。用户登录、评论等等可能会被提交垃圾信息的地方,都要使用验证码,而且要有一个安全的验证码。才能防止被暴力破解,防止网站充满垃圾数据。 8、代码要严谨,修改用户资料、修改用户数据都要跟用户关联起来,比如update news set title='新的标题' where id=新闻编号,这里还要加一个限制:userid=用户编号,这样可以防止一个人修改别人的新闻。 9、关闭web.config中的错误显示。&customErrors mode="RemoteOnly" defaultRedirect="404.aspx"&&/customErrors& 以上是程序方面的安全问题,想到哪里就写到哪里。没有系统的整理。 另外顺便提提服务器安全问题。 1、开启windows防火墙,关闭不用的端口。这点是最重要的。就是说你提供的服务越少,你的服务器就越安全。 2、设置安全的密码。复杂度要达到一定强度。定期修改密码。密码不要泄露给别人,包括机房管理员。如果必要告诉机房人员,待机房人员用完密码以后立刻改掉。 3、安装ARP防火墙。机房里ARP病毒非常多,如果中了ARP病毒,轻者浏览网站不正常,可能有木马跟随。严重的就整个网站、机房都断网了。 4、适当的安装杀毒软件。(诺顿、麦咖啡等) 5、IIS关闭不用的服务,例如asp支持,关闭不用的服务:ftp,smtp,pop3等等,修改网站根目录。设置目录权限。 6、针对各种攻击,有不同的对策,例如cc攻击。曾经遇到一次,深圳那边有5台连续IP的机器对我的一个视频站发动CC攻击,导致网站打开非常的慢,开始我们还不知道是被攻击,以为程序有漏洞,不停的找程序的问题。后来通过服务器安全管理软件,查出是这些IP在作怪,通过站长屏蔽IP访问的几种方法中提到的“本地安全策略”方法屏蔽掉这5个IP以后服务器恢复正常,网站恢复了往日的速度。 常用命令:iisapp -a,netstat -nao,tasklist,telnet xxx.xxx.xxx.xxx 端口 7、远程管理软件不要用默认端口,虽然密码被暴力破解和猜到的可能很小,但是总是有无聊的人尝试。造成日志里一堆垃圾信息。修改端口以后就没有人尝试破解密码了。因为他跟不知道这个端口是做什么的。谈到这里,我想起,不用的服务要关闭,那么用的服务器就要开启吗?那肯定是要启动的,不启动谁都用不了了,这里可以做一个限制,比如我的smtp服务只提供本机使用,那么我从防火墙里把25端口关闭,如果我的SQL SERVER只是供本机使用的。那么我也从防火墙里吧1433端口关闭。这样外部无法连接,自然也不存在暴力破解数据库密码了。windows防火墙还可以针对某一个IP开放某个端口。还是比较强大的。 以上乱七八糟的谈了一堆,希望对站长和程序员们有所帮助,大家可以加我QQ:4111852交流。我非常的欢迎。 最后说一下那个网友被挂马的解决建议: 1、备份好数据库、其他数据。 2、把所有程序、包括目录全部删除,以确保没有文件被留后门。 3、如果有可能,检查服务器安全,确保服务器没有被建立后门,例如超级帐号、安装了后门木马。这样的话,你怎么修改你的程序都没用,人家随时可以修改你的程序。 4、另一个网友提到的办法,上传一个静态文件test.html,访问一下看看,是不是也有木马以排除网络问题。 5、如果4中,确认不是网络问题,那就是文件被挂马了,全部程序删除,上传自己的安全的备份,恢复数据,检查数据库,确保木马不在数据库中。 6、查看IIS日志,看谁登录过后台,参考:iis日志分析视频教程 思路特别乱,大家将就看一下吧
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具网站建设教程
尚品中国,网站制作教程
【网站语言】asp、php、asp.net、jsp介绍及优缺点比较
asp、php、asp.net、jsp介绍及优缺点比较现在主流的网站开发语言无外乎asp、php、asp.net、jsp等。从开始简单的hmtl到复杂的服务语言,走过了10多个年头,各种技术层出不穷,单个的主流技术也在不断翻新的版本,现在分析下各种语言的区别、优势、劣势、开发注意事项!&HTML:当然这是网页最基本的语言,每一个服务器语言都需要它的支持,要学习,这个肯定是开始,不说了.&主流网站开发语言之ASP:ASP是微软(Microsoft)所开发的一种后台脚本语言,它的语法和Visual BASIC类似,可以像SSI(Server Side Include)那样把后台脚本代码内嵌到HTML页面中。虽然ASP简单易用,但是它自身存在着许多缺陷,最重要的就是安全性问题。目前在微软的 .net 战略中新推出的ASP.net 借鉴了Java技术的优点,使用C Sharp (C#) 语言作为ASP.net的推荐语言,同时改进了以前ASP的安全性差等缺点。但是,使用ASP/ASP.net仍有一定的局限性,因为从某种角度来说它们只能在微软的 Windows NT/2000/XP + IIS的服务器平台上良好运行(虽然像ChilliSoft提供了在UNIX/Linux上运行ASP的解决方案,但是目前ASP在UNIX/Linux上的应用可以说几乎为0)。所以平台的局限性和ASP自身的安全性限制了ASP的广泛应用。ASP在执行的时候,是由IIS调用程序引擎,解释执行嵌在HTML中的ASP代码,最终将结果和原来的HTML一同送往客户端。&主流网站开发语言之PHP:PHP 的全名非常有趣,它是一个巢状的缩写名称&&&PHP: Hypertext Preprocessor&,打开缩写还是缩写。PHP是一种HTML 内嵌式的语言 (就像上面讲的ASP那样)。而 PHP 独特的语法混合了C,Java,Perl以及 PHP 式的新语法。它可以比 CGI 或者 Perl 更快速地执行动态网页。PHP的源代码完全公开,在 Open Source 意识抬头的今天,它更是这方面的中流砥柱。不断地有新的函数库加入,以及不停地更新,使得 PHP 无论在 UNIX 或是 Win32 的平台上都可以有更多新的功能。它提供丰富的函数,使得在程式设计方面有着更好的资源。目前PHP的最新版本为4.1.1 ,它可以在Win32以及UNIX/Linux等几乎所有的平台上良好工作。PHP在4.0版后使用了全新的Zend引擎,其在最佳化之后的效率,比较传统 CGI 或者 ASP 等技术有了更好的表现。平台无关性是PHP的最大优点,但是在优点的背后,还是有一些小小的缺点的。如果在PHP中不使用ODBC,而用其自带的数据库函数(这样的效率要比使用ODBC高)来连接数据库的话, 使用不同的数据库,PHP的函数名不能统一。这样,使得程序的移植变得有些麻烦。不过,作为目前应用最为广泛的一种后台语言,PHP的优点还是异常明显的。php5:2004年7月,PHP5正式版本的发布,标志着一个全新的PHP时代的到来。它的核心是第二代Zend引擎,并引入了对全新的PECL模块的支持。PHP5的最大特点是引入了面向对象的全部机制,并且保留了向下的兼容性。程序员不必再编写缺乏功能性的类,并且能够以多种方法实现类的保护。另外,在对象的集成等方面也不再存在问题。使用PHP5引进了类型提示和异常处理机制,能更有效的处理和避免错误的发生。  在不断更新的同时,PHP5依然保留对旧有的PHP4程序可以运行于PHP5的平台上而不会出现较大问题。随着MySQL数据库的发展,PHP5还绑定了新的MySQLi扩展模块和PDO扩展模块,MySQLi提供了一些更加有效的方法和实用工具用于处理数据库操作,而PDO使各种数据库链接变得统一化,不像php4那样换个数据库就要重写整站的代码。这些方法大都以面向对象的方式实现,同时也极大地提高了基于数据库的Web项目的执行速度。  另外,PHP5中还改进了创建动态图片的功能,目前能够支持多种图片格式(如PNG、GIF、TTIF、JPGE等)。PHP5以及内置了对GD2库的支持,因此安装GD2库(主要指UNIX系统中)也不再是件难事,这使得处理图像十分简单和高效。  大多数Web程序开发者依然将XML作为一个彻底的简单数据库使用。PHP5中也采用了一系列简单易用、功能强大的方法处理XML文档。  今天,已经有包括雅虎和亚马逊等在内的数百万网站,以及众多的开发人员和编程爱好者正在使用PHP。从最初的PHP/FI到现在的PHP5,PHP的发展是及其迅猛的,其未来的发展前景也必定令人瞩目。&PHP作为最成熟的开源体系LAMP(Linux,Apache,MySQL,PHP)的重要一员,以其简单性、开放性、低成本、安全性和适用性,受到越来越多的Web程序员的欢迎和喜爱。  PHP中提供了作为编码语言所有的基本功能。此外,它还提供许多实用的功能,使得PHP比其他编程语言更适合动态网页的开发。针对企业级Web应用,PHP也不断地完善和增加新的功能。  PHP是源码开放的,这意味着其代码的核心部分可以被免费使用。所有源码、文档可以在PHP官方网站上获得。用户可以自由复制、编译、分发其拷贝。任何一个用PHP编写的程序都属于用户自己,并且可以自行处理。  正式由于这种开源精神,才使PHP社区可以聚集众多的爱好者,也使得PHP有如此迅猛的发展。PHP的更新速度,以及发现和修正错误的速度是非常迅速的。可以看到,几乎每周都有一个新版本的PHP程序包发布。  目前,PHP的官方维护者和推动者Zend公司已经加快了PHP企业级应用的步伐。随着PHP5的应用不断扩大,Zend公司还将推出一个标准的PHP开发框架Zend Framework。通过这一框架,PHP开发者可以快速地构建Web应用。  如同ASP具有Windows自己的开发平台一样,Zend也为PHP设计了全新的开发环境 Zend Studio。这是一款集程序调试、系统发布以及开发环境为一体的PHP开发软件。这将大大简化PHP开发过程,并且缩短相应的测试周期。另外,Zend 还将与IBM公司合作推出集成Zend IDE特性的Eclipse软件供大家使用。  PHP还具有优秀的平台兼容性。PHP源于UNIX系统平台,尤其是PHP、MySQL、 Apache和Linux组合,备受PHP爱好者的欢迎。不仅如此,PHP在Windows系列操作系统上也有出色的表现。其良好的程序界面、语言易用性等特点吸引了微软的开发人员。目前,有消息称未来的Windows.NET开发环境将集成PHP,这也意味着PHP的用户群将日益壮大。  PHP是广泛及通用的脚本语言,它尤其适合于Web开发。PHP是世界上主要的网络开发语言之一,运行在世界三分之一的服务器上。它是从雅虎到Facebook等公司的平台选择,也是共享主机上最广泛的开发平台,为世界上数百万的网站提供动力。  随着PHP5版本性能的提升,以及面向对象功能的完善,PHP也逐渐开始于面向企业级应用。PHP的发展前景将无限广阔。&ASP.NET:ASP.net是Microsoft.net的一部分,作为战略产品,不仅仅是 Active Server Page (ASP) 的下一个版本;它还提供了一个统一的 Web 开发模型,其中包括开发人员生成企业级 Web 应用程序所需的各种服务。ASP.NET 的语法在很大程度上与 ASP 兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。可以通过在现有 ASP 应用程序中逐渐添加 ASP.NET 功能,随时增强 ASP 应用程序的功能。ASP.NET 是一个已编译的、基于 .NET 的环境,可以用任何与 .NET 兼容的语言(包括 Visual Basic .NET、C# 和 JScript .NET.)创作应用程序。另外,任何 ASP.NET 应用程序都可以使用整个 .NET Framework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。ASP.NET 可以无缝地与 WYSIWYG HTML 编辑器和其他编程工具(包括 Microsoft Visual Studio .NET)一起工作。这不仅使得 Web 开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到 Web 页的 GUI 和完全集成的调试支持。微软为ASP.net设计了这样一些策略:易于写出结构清晰的代码、代码易于重用和共享、可用编译类语言编写等等,目的是让程序员更容易开发出Web应用,满足计算向Web转移的战略需要。&主流网站开发语言之JSP:JSP和Servlet要放在一起讲,是因为它们都是Sun公司的J2EE(Java 2 platform Enterprise Edition)应用体系中的一部分。Servlet的形式和前面讲的CGI差不多,它是HTML代码和后台程序分开的。它们的启动原理也差不多,都是服务器接到客户端的请求后,进行应答。不同的是,CGI对每个客户请求都打开一个进程(Process),而Servlet却在响应第一个请求的时候被载入,一旦Servlet被载入,便处于已执行状态。对于以后其他用户的请求,它并不打开进程,而是打开一个线程(Thread),将结果发送给客户。由于线程与线程之间可以通过生成自己的父线程(Parent Thread)来实现资源共享,这样就减轻了服务器的负担,所以,Java Servlet可以用来做大规模的应用服务。虽然在形式上JSP和ASP或PHP看上去很相似&&都可以被内嵌在HTML代码中。但是,它的执行方式和ASP或PHP完全不同。在JSP被执行的时候,JSP文件被JSP解释器(JSP Parser)转换成Servlet代码,然后Servlet代码被Java编译器编译成 .class 字节文件,这样就由生成的Servlet来对客户端应答。所以,JSP可以看做是Servlet的脚本语言(Script Language)版。由于JSP/Servlet都是基于Java的,所以它们也有Java语言的最大优点&&平台无关性,也就是所谓的&一次编写,随处运行(WORA & Write Once, Run Anywhere)&。除了这个优点,JSP/Servlet的效率以及安全性也是相当惊人的。因此,JSP/Servlet虽然在国内目前的应用并不广泛,但是其前途不可限量。在调试JSP代码时,如果程序出错,JSP服务器会返回出错信息,并在浏览器中显示。这时,由于JSP是先被转换成Servlet后再运行的,所以,浏览器中所显示的代码出错的行数并不是JSP源代码的行数,而是指转换后的Servlet程序代码的行数。这给调试代码带来一定困难。所以,在排除错误时,可以采取分段排除的方法(在可能出错的代码前后输出一些字符串,用字符串是否被输出来确定代码段从哪里开始出错),逐步缩小出错代码段的范围,最终确定错误代码的位置。如今主流的Web服务器软件主要由IIS或Apache组成。IIS支持ASP且只能运行在Windows平台下,Apache支持PHP,CGI,JSP且可运行于多种平台,虽然Apache是世界使用排名第一的Web服务器平台,但是众所周知,Windows以易用而出名,也因此占据不少的服务器市场。我们常用的开发组合:IIS环境下1.ASP+ACCESS2.ASP+SQL SERVER3.ASP.NET+ACCESS4.ASP.NET+SQL SERVERAPACHE环境下5.JSP+Oracale6.JSP+MYSQL7.PHP+MYSQL可以说,asp确实快过时了,在未来php,jsp和asp.net将会有巨大的潜力。&vb一般指vb6.0,是传统的win32编程。vb.net和asp.net是基于微软.net平台的语言。说java好主要是因为java的j2ee部分做企业级开发很强大,而且跨平台。c#是.net平台上最好用的语言,现在只能运行在windows系统。&web开发方面.net和j2ee的竞争很激烈,难说以后鹿死谁手。&现在做网站大部分都是asp.net或jsp的,asp.net容易上手,比较普及,但是平台单一,jsp虽然上手难,但是跨平台,安全性高。下面比较一下ASP、ASP.net、JSP和PHP的优点和缺点:ASP优点:1. 无需编译2. 易于生成3. 独立于浏览器4. 面向对象5. 与任何ActiveX scripting 语言兼容6. 源程序码不会外漏缺点:1、Windows本身的所有问题都会一成不变的也累加到了它的身上。安全性、稳定性、跨平台性都会因为与NT的捆绑而显现出来。2、ASP由于使用了COM组件所以它会变的十分强大,但是这样的强大由于Windows NT系统最初的设计问题而会引发大量的安全问题。只要在这样的组件或是操作中一不注意,哪么外部攻击就可以取得相当高的权限而导致网站瘫痪或者数据丢失。3、由于ASP还是一种Script语言所没除了大量使用组件外,没有办法提高其工作效率。它必须面对即时编绎的时间考验,同时我们还不知其背后的组件会是一个什么样的状况。4、无法实现跨操作系统的应用。当然这也是微软的理由之一,只有这样才能发挥ASP最佳的能力。可是我却认为正是Windows限制了ASP,ASP的概念本就是为一个能让系统运行于一个大的多样化环境而设计的。5、还无法完全实现一些企业级的功能:完全的集群、负载均横。&ASP.NET优点:1. 简洁的设计和实施。2. 语言灵活,并支持复杂的面向对象特性。3. 开发环境。缺点:1.数据库的连接复杂。2.不具有跨平台性,只支持windows平台。&JSP优点:1、& 一处编写随处运行。2、&&系统的多台平支持。3、&&强大的的可伸缩性。4、&&多样化和功能强大的开发工具支持。缺点:1、&&与ASP一样,Java的一些优势正是它致命的问题所在。2、&&缺少系统性的资料。3、&&开发速度超慢&PHP优点:1、& 一种能快速学习、跨平台、有良好数据库交互能力的开发语言。2、&&简单轻便,易学易用。3、&&与Apache及其它扩展库结合紧密。4、&&良好的安全性。缺点:1、&&在windows平台运行的安全性和稳定性不如Linux/Unix。&标签:
&&Copyright 2010 by shangpin .All Rights Reserved | &|&&|&友情链接交换QQ:
《中华人民共和国电信与信息服务业务经营许可证》编号:京ICP备号| 京公网安备&
7*24服务热线:400-700-4979

我要回帖

更多关于 asp.net 路径问题 的文章

 

随机推荐