WebMatrix帮你方便地搭建你的个人应用站点,是时候行动起来了!
2010-07-16 15:03
357 查看
首先,需要介绍一下WebMatrix,这到底是个什么东东呢?它又能为我们带来什么便捷的开发体验呢?
简单来说,它是一个集成了IIS,VS,database等(都是专门的嵌入型)的工具,可以帮助我们开发和部署应用,这么说,貌似VSTS更加强大,且慢,它为我们提供了众多可用的现成应用,这些可以通过WebGallery来获取,你需要做的仅仅是选择一个应用,然后点击下载安装,它便会帮你将你的机器打造成可以正常运行该应用的环境,非常简洁!我第一次是直接选用了一个blog应用,并直接部署,一切成功!同时,它还提供了很多的模板供我们选择,都是常用的模板分类,很方便;此外,我们可以导入我们已经编写的应用,然后进行部署!
只是,这个魔方还仅仅是个beta版本,暂时也不支持调试功能,但可以通过提供的VS按钮打开VS来进行修改,也算是个偏方儿吧!
值得一提的是,此次WebMatrix发布,同时也有很多的厂商参与,所以想为自己的应用找一个服务器也变得更加的简单,目前大多数的供应商都提供至少2个月的免费使用期,有的甚至免费到年底,你大可以没事儿的时候搭建个网站找找感觉,免费的体验时代真好……
如果你整盘算着弄一个属于自己的网站的话,WebMatrix会以最快的速度帮你完成你的站点!
WebMatrix相关的链接如下:
下载链接:http://www.microsoft.com/web/webmatrix/download/
相关介绍:http://weblogs.asp.net/scottgu/archive/2010/07/06/introducing-webmatrix.aspx
http://www.hanselman.com/blog/MicrosoftWebMatrixInContextAndDeployingYourFirstSite.aspx
下面是自己成功部署一个自己的ASP.NETMVC2.0应用的过程,如果你也在用MVC2.0开发应用的话,可能会对你有所启发,避免绕弯路……
自己写了一个小的ASP.NETMVC2.0的应用,想部署到一个国外的服务器上,因为这个应用使用了ASP.NET附带的Membership来管理用户,所以需要将这个ASPNETDB的数据库转移到相应的SQLServer2008中,这个到没有什么难度:
(1)在SQLServer2008中新建一个ASPNETDB的数据库
(2)执行“C:\Windows\Microsoft.NET\Framework\v2.0.50727”目录中的aspnet_regsql.exe程序,初始化Membership数据库
(3)修改web.config中的链接值为:
<connectionStrings>
<addname="ApplicationServices"connectionString="DataSource=;InitialCatalog=;UserId=;Password="providerName="System.Data.SqlClient"/>
</connectionStrings>
(4)OK,一切就绪了,调试程序,转移完成。
本地的转换时很顺利的,但是当我试图将工程文件和数据库部署到远程服务器上的时候,问题又出现了,总是提示:
Cannotresolvethecollationconflictbetween"SQL_Latin1_General_CP1_CI_AS"and"Chinese_PRC_CI_AS"intheequaltooperation.
查了一下,可能是因为不同数据库间采取的排序规则不同导致的,但是因为我是采用的远程部署,可见不是这个原因!
还有一个原因,也会导致这个异常,就是在存储过程中,我们创建的临时表有可能会引起这个问题,需要在定义临时表的时候,添加COLLATEChinese_PRC_CI_AS即可解决问题,当然,具体采用哪种排序规则,要看具体的提示内容决定。这里还有一个小问题需要注意,上面那句定义排序规则的话,只是针对字符串相关字段,而且必须在类型后面紧挨着定义,否则将会有语法错误,正确的写法如下:
DECLARE@tbNamestable(Namenvarchar(256)COLLATEChinese_PRC_CI_ASNOTNULLPRIMARYKEY)
请注意其所在位置即可。
接下来遭遇的一个问题更加的棘手,当我把工程和数据库都成功部署到服务器后,满心欢喜地打开网站提供给我的网站URL,首页还没有问题,但是一旦进入需要有数据库连接的页面,就会报下面的异常:
ServerErrorin'/'Application.
Keywordnotsupported:'datasource'.
Description:Anunhandledexceptionoccurredduringtheexecutionofthecurrentwebrequest.Pleasereviewthestacktraceformoreinformationabouttheerrorandwhereitoriginatedinthecode.
ExceptionDetails:System.ArgumentException:Keywordnotsupported:'datasource'.
SourceError:
Anunhandledexceptionwasgeneratedduringtheexecutionofthecurrentwebrequest.Informationregardingtheoriginandlocationoftheexceptioncanbeidentifiedusingtheexceptionstacktracebelow.
起初以为是自己的数据库连接字符串有问题,于是把精力都放在尝试多种不同的字符串写法,但是后来发现者一切都是徒劳,因为总是本地调试可以正常工作,一旦部署到服务器,又不能工作了,挫败感很强烈啊,而且持续了好几天……
没办法,只能到ASP.NET的官方论坛发帖救助,一个哥们的一个相似的解决思路帮了我大忙,其实,我也就是随便的试了一下,因为无论我的链接字符串中是否出现了DataSource,都会出现这个提示,我干脆把连接写到程序里面需要调用的地方那个,而不是通过相关类调用web.config的方式,奇迹发生了,网站终于正常工作了!热泪盈眶啊……
奇怪的是,在我们定义Repository的时候,使用带数据库连接参数的初始化方法可以,但是使用默认的五参数的不行,很怪异,后来想了一下,可能是服务器上文件夹的权限管理比较严格,无法正常从web.config中获取连接字符串?那为啥我的另外一个报春membership数据的数据库就可以工作呢?
总而言之,只可能是权限,或者EF初始化方法上的问题了。
下面列出相关的内容以作参考:
Web.config:
<connectionStrings>
<addname="ApplicationServices"connectionString="DataSource=webmatrix01.cytanium.com;InitialCatalog=;UserId=;Password="providerName="System.Data.SqlClient"/>
<addname="HobbyNotesContainer"connectionString="metadata=res://*;provider=System.Data.SqlClient;providerconnectionstring="DataSource=webmatrix01.cytanium.com;InitialCatalog=;UserID=;Password=;MultipleActiveResultSets=True;""providerName="System.Data.EntityClient"/>
</connectionStrings>
xxxRepository.cs:
简单来说,它是一个集成了IIS,VS,database等(都是专门的嵌入型)的工具,可以帮助我们开发和部署应用,这么说,貌似VSTS更加强大,且慢,它为我们提供了众多可用的现成应用,这些可以通过WebGallery来获取,你需要做的仅仅是选择一个应用,然后点击下载安装,它便会帮你将你的机器打造成可以正常运行该应用的环境,非常简洁!我第一次是直接选用了一个blog应用,并直接部署,一切成功!同时,它还提供了很多的模板供我们选择,都是常用的模板分类,很方便;此外,我们可以导入我们已经编写的应用,然后进行部署!
只是,这个魔方还仅仅是个beta版本,暂时也不支持调试功能,但可以通过提供的VS按钮打开VS来进行修改,也算是个偏方儿吧!
值得一提的是,此次WebMatrix发布,同时也有很多的厂商参与,所以想为自己的应用找一个服务器也变得更加的简单,目前大多数的供应商都提供至少2个月的免费使用期,有的甚至免费到年底,你大可以没事儿的时候搭建个网站找找感觉,免费的体验时代真好……
如果你整盘算着弄一个属于自己的网站的话,WebMatrix会以最快的速度帮你完成你的站点!
WebMatrix相关的链接如下:
下载链接:
相关介绍:
下面是自己成功部署一个自己的ASP.NETMVC2.0应用的过程,如果你也在用MVC2.0开发应用的话,可能会对你有所启发,避免绕弯路……
自己写了一个小的ASP.NETMVC2.0的应用,想部署到一个国外的服务器上,因为这个应用使用了ASP.NET附带的Membership来管理用户,所以需要将这个ASPNETDB的数据库转移到相应的SQLServer2008中,这个到没有什么难度:
(1)在SQLServer2008中新建一个ASPNETDB的数据库
(2)执行“C:\Windows\Microsoft.NET\Framework\v2.0.50727”目录中的aspnet_regsql.exe程序,初始化Membership数据库
(3)修改web.config中的链接值为:
<connectionStrings>
<addname="ApplicationServices"connectionString="DataSource=;InitialCatalog=;UserId=;Password="providerName="System.Data.SqlClient"/>
</connectionStrings>
(4)OK,一切就绪了,调试程序,转移完成。
本地的转换时很顺利的,但是当我试图将工程文件和数据库部署到远程服务器上的时候,问题又出现了,总是提示:
Cannotresolvethecollationconflictbetween"SQL_Latin1_General_CP1_CI_AS"and"Chinese_PRC_CI_AS"intheequaltooperation.
查了一下,可能是因为不同数据库间采取的排序规则不同导致的,但是因为我是采用的远程部署,可见不是这个原因!
还有一个原因,也会导致这个异常,就是在存储过程中,我们创建的临时表有可能会引起这个问题,需要在定义临时表的时候,添加COLLATEChinese_PRC_CI_AS即可解决问题,当然,具体采用哪种排序规则,要看具体的提示内容决定。这里还有一个小问题需要注意,上面那句定义排序规则的话,只是针对字符串相关字段,而且必须在类型后面紧挨着定义,否则将会有语法错误,正确的写法如下:
DECLARE@tbNamestable(Namenvarchar(256)COLLATEChinese_PRC_CI_ASNOTNULLPRIMARYKEY)
请注意其所在位置即可。
接下来遭遇的一个问题更加的棘手,当我把工程和数据库都成功部署到服务器后,满心欢喜地打开网站提供给我的网站URL,首页还没有问题,但是一旦进入需要有数据库连接的页面,就会报下面的异常:
ServerErrorin'/'Application.
Keywordnotsupported:'datasource'.
Description:Anunhandledexceptionoccurredduringtheexecutionofthecurrentwebrequest.Pleasereviewthestacktraceformoreinformationabouttheerrorandwhereitoriginatedinthecode.
ExceptionDetails:System.ArgumentException:Keywordnotsupported:'datasource'.
SourceError:
Anunhandledexceptionwasgeneratedduringtheexecutionofthecurrentwebrequest.Informationregardingtheoriginandlocationoftheexceptioncanbeidentifiedusingtheexceptionstacktracebelow.
起初以为是自己的数据库连接字符串有问题,于是把精力都放在尝试多种不同的字符串写法,但是后来发现者一切都是徒劳,因为总是本地调试可以正常工作,一旦部署到服务器,又不能工作了,挫败感很强烈啊,而且持续了好几天……
没办法,只能到ASP.NET的官方论坛发帖救助,一个哥们的一个相似的解决思路帮了我大忙,其实,我也就是随便的试了一下,因为无论我的链接字符串中是否出现了DataSource,都会出现这个提示,我干脆把连接写到程序里面需要调用的地方那个,而不是通过相关类调用web.config的方式,奇迹发生了,网站终于正常工作了!热泪盈眶啊……
奇怪的是,在我们定义Repository的时候,使用带数据库连接参数的初始化方法可以,但是使用默认的五参数的不行,很怪异,后来想了一下,可能是服务器上文件夹的权限管理比较严格,无法正常从web.config中获取连接字符串?那为啥我的另外一个报春membership数据的数据库就可以工作呢?
总而言之,只可能是权限,或者EF初始化方法上的问题了。
下面列出相关的内容以作参考:
Web.config:
<connectionStrings>
<addname="ApplicationServices"connectionString="DataSource=webmatrix01.cytanium.com;InitialCatalog=;UserId=;Password="providerName="System.Data.SqlClient"/>
<addname="HobbyNotesContainer"connectionString="metadata=res://*;provider=System.Data.SqlClient;providerconnectionstring="DataSource=webmatrix01.cytanium.com;InitialCatalog=;UserID=;Password=;MultipleActiveResultSets=True;""providerName="System.Data.EntityClient"/>
</connectionStrings>
xxxRepository.cs:
privateHobbyNotesContainerdb=newHobbyNotesContainer("metadata=res://*;provider=System.Data.SqlClient;providerconnectionstring=\"DataSource=webmatrix01.cytanium.com;InitialCatalog=HobbyNotes;UserID=gavin;Password=198396Yang;MultipleActiveResultSets=True;\"");
注意,这里如果使用privateHobbyNotesContainerdb=newHobbyNotesContainer();则部署后,会提示异常!
此外,我的第一个个人站点时一个小应用,欢迎大家来踩一下,哈哈:
http://guilinyang.webmatrix01.cytanium.com/
希望能对你有所帮助~
相关文章推荐
- 现在很多的手机应用,都可能会直接嵌入一个web页面。这样做的好处:一个是功能更新方便,维护起来容易,只需要维护服务器的页面即可,不需要更新客户端;另一个是功能通用,不仅Android可以用,iOS也可
- Github Pages搭建个人站点和项目站点
- Centos+mysql+apache(http)+php+wordpress搭建个人站点
- 如何搭建Jekyll个人站点
- 搭建个人博客站点流程
- [导入]CZoneSoft 视频互动 : 新增音乐盒 方便个人K歌的时候播放伴奏音乐
- 使用lamp(YUM)架构搭建个人博客(wordpress)站点
- 如何高效搭建基于Hexo和github技术的个人站点
- 阿里云轻量应用服务器,5分钟搭建wordpress个人博客
- 敏捷个人应用:开发环境搭建 推荐
- asp.net 动态数据网站简单应用,快速建立站点实现对库方便的增删改
- SVN源码服务器搭建-详细教程 (方便个人开发和联合开发)
- Linux4操作篇-软件安装、开发环境搭建及个人云站点发布
- 使用Hugo搭建个人博客站点
- 为什么写博客,如何使用GithubPages+hexo搭建个人博客站点
- 利用WordPress源代码轻松搭建个人博客站点
- 我的个人站点搭建 在Idea 中用Spring + SpringMVC + Hibernate 实现 “hello world”
- 百度地图API入门——(4)用Jetty搭建一个简单的多终端可访问的地图应用站点
- 推荐阅读书籍,是时候再行动起来了。