Rapid Web快速入门
系统需求
RapidWebDev需要的系统环境如下:
.NET Framework 3.5 SP1
ASP.NET MVC 1.0
ASP.NET State Service (这个不是必须的,你可以在web.config中进行配置,默认使用本地的session state服务)
DTC Service
MS SQL Server 2005 +
Internet Information Service
下载RapidWebDev
从http://rapidwebdev.codeplex.com下载RapidWebDev的源代码压缩包,解压文件到你想要的目录。我将项目解压到了C:\MyProject\RapidWebDev\目录下, 你需要将下文中出现的” C:\MyProject\RapidWebDev\”换成你解压的目录。
创建数据库
创建一个新的数据库,并按照下面给出的顺序执行SQL脚本(C:\MyProject\RapidWebDev\sql scripts\目录下找到他们)
1. Database.sql
2. SchemaVersions.sql
3. UnitTest for ExtensionModel.sql
设置Xml Schema
复制如下XML定义文件(C:\MyProject\RapidWebDev\xml schema\目录下找到它们)到你vs2008的Schemas目录(%VSTS%\Xml\Schemas\)下,以获取Visual Studio的智能感知支持:
DynamicPage.xsd;
DataSource.xsd;
Definition.xsd;
SiteMapConfig.xsd;
FieldMetadata.xsd;
routebuilder.xsd;
PermissionConfig.xsd
启动需要的Windows 服务
你需要在你的目标web服务器上面启动如下两个服务:
· ASP.NET State Service – 这个不是必须的,但是默认的是使用本地的Session State 服务,如果需要指定网络中的其他server作为Session State Server,请修改web.config.
· Distributed Transaction Coordinator
在VS2008中配置
使用VS2008打开C:\MyProject\RapidWebDev\src\下的RapidWebDev.sln项目(如果是WIN7,2008,VISTA操作系统,需要以管理员身份运行VS.)。加载完成后打开web.config,找到connectionStrings部分,将连接字符串修改为你本地的连接字符串。如下:
<connectionStrings>
<add name="Global" providerName="System.Data.SqlClient" connectionString="XXX" />
</connectionStrings>
在web.config配置了3个restful service, 它们分别是OrganizationService,RoleService和HierarchyService,在执行项目之前,先需要修改它们的endpoint.(如果你没有修改web项目的执行端口,可以不用修改。)如下(将高亮部分改成你的域名或IP地址):
<service name="BaoJianSoft.Platform.Services.OrganizationService" behaviorConfiguration="AuthenticationBehavior">
<clear />
<endpoint address="http://localhost:50682/Services/OrganizationService.svc"
behaviorConfiguration="RestfulEndpointBehavior"
binding="webHttpBinding"
bindingConfiguration="HttpStreaming"
contract="BaoJianSoft.Platform.Services.IOrganizationService"
listenUriMode="Explicit" />
<endpoint address="mex" binding="mexHttpBinding" bindingConfiguration="HttpStreaming" contract="IMetadataExchange" />
</service>
<service name="BaoJianSoft.Platform.Services.RoleService" behaviorConfiguration="AuthenticationBehavior">
<clear />
<endpoint name="RestfulRoleService" address="http://localhost:50682/Services/RoleService.svc"
behaviorConfiguration="RestfulEndpointBehavior"
binding="webHttpBinding"
bindingConfiguration="HttpStreaming"
contract="BaoJianSoft.Platform.Services.IRoleService"
listenUriMode="Explicit" />
<endpoint address="mex" binding="mexHttpBinding" bindingConfiguration="HttpStreaming" contract="IMetadataExchange" />
</service>
<service name="BaoJianSoft.Platform.Services.HierarchyService" behaviorConfiguration="AuthenticationBehavior">
<clear />
<endpoint name="RestfulHierarchyService" address="http://localhost:50682/Services/HierarchyService.svc"
behaviorConfiguration="RestfulEndpointBehavior"
binding="webHttpBinding"
bindingConfiguration="HttpStreaming"
contract="BaoJianSoft.Platform.Services.IHierarchyService"
listenUriMode="Explicit" />
<endpoint address="mex" binding="mexHttpBinding" bindingConfiguration="HttpStreaming" contract="IMetadataExchange" />
</service>
Register verification entries for unsigned RapidWebDev projects in source package
作为一个开源项目,为了能正确区分程序集是由我们官方发布的,所以没有发布私有密匙。Source包中的所有项目都引用了RapidWebDev.public.snk公密。
如果你在Source包中运行Web项目或Tests项目,你必须将及时编译出的没有私密的程序集注册到你本机的无私密验证区中。我们已经在Web和Tests项目的Post-Build Event中实现了上述注册脚本,所以一旦你编译Web和Tests项目,它们会被自动注册到无私密验证区。
不过一些开发人员在运行Web和Tests时仍然遇到了无私密程序集的错误。如果你遇到此类错误,请运行CheckVerificationEntries.bat批处理文件来检查你及时编译出来的程序集是否被正确注册到无私密验证区中。下面是一张正确的截图。
如果你使用的是我们发布的二进制包,那么就没有以上问题了。我们在发布的时候已经对发布的程序集进行了签名,并且移除了web项目对公共密匙的引用。当你决定在上面开发你的商业应用时,你需要为它添加你自己的强命名文件。
好了,弄了这么久,现在让我们看看RapidWebDev究竟是个什么样子的吧, 浏览 LogOn.aspx 页面. 初始账号是 "admin" 密码是 "password1".
再来张首页截图
Develop Your First Sample Application
开发第一个简单的应用
Web Project 结构
· \Config目录下面存放了web配置文件,permissions.config用来定义用户在系统中可以享有哪些权限.sitemap.config用来定义站点地图.
· \Spring 目录下面存放Spinrg.NET的IOC配置文件和动态页面配置文件,动态页面配置文件的命名格式是"*.dp.xml".
Quick Example
现在,让我们假设你想创建一个新的页面用于管理产品,使用RapidWebDev,你只需如下步骤变可以实现你想要的功能了。
Step1. 在数据库中创建一个名为t_product的表
Create Table t_product (Id uniqueidentifier, ApplicationId uniqueidentifier ,Name varchar(100));
Step2. 在VS中为创建一个新的类库,名字暂时定为Product吧,删除自动生成的class1.cs,为项目添加必要的引用如下图
Step3. 在Product项目中为t_product表创建一个 linq2SQL dbml映射文件
Step4. 添加一个新的类到Product项目中,命名为ProductManagement ,将该类继承 BaoJianSoft.RapidWeb.DynamicPages.DynamicPage 类,并且重写Query方法.
public override QueryResults Query(QueryParameter parameter)
{
LinqPredicate predicate = parameter.Expressions.Compile();
string sortingExpression = null;
if (parameter.SortExpression != null)
sortingExpression = parameter.SortExpression.Compile();
using (YourDataContext ctx = new YourDataContext())
{
int recordCount;
var q = ctx.t_product.AsQueryable();
if (!Kit.IsEmpty(predicate.Expression))
q = q.Where(predicate.Expression, predicate.Parameters);
if (!Kit.IsEmpty(sortingExpression))
q = q.OrderBy(sortingExpression);
recordCount = q.Count();
var products = q.Skip(parameter.PageIndex * parameter.PageSize).Take(parameter.PageSize).ToList();
return new QueryResults(q.Count(), products);
}
}
Step5. 为Web项目添加Product的引用,并在其下面创建一个动态页面配置文件,将其命名为ProductManagement.dp.xml 并保持到 \Web\Spring\DynamicPage\YourProject\目录下,内容请参考下面的代码
<?xml version="1.0" encoding="utf-8" ?>
<Page xmlns="http://www.baojiansoft.com/schemas/dynamicpage" ObjectId="ProductManagement" Type="Product.ProductManagement, Product">
<Title>产品管理</Title>
<PermissionValue>Everyone</PermissionValue>
<Panels>
<QueryPanel HeaderText="产品管理">
<TextBox FieldName="Name" Label="产品名称: " />
</QueryPanel>
<ButtonPanel ButtonAlignment="Left">
<Button CommandArgument="New" Type="NewImage" ToolTip="添加新产品" />
</ButtonPanel>
<GridViewPanel
HeaderText="产品名称"
EntityName="Product"
EnabledCheckBoxField="true"
PageSize="25"
PrimaryKeyFieldName="id"
DefaultSortField="Name"
DefaultSortDirection="ASC"
分享到:
相关推荐
RapidMiner是一款流行的开源数据挖掘工具,它以灵活的功能和易用性受到广泛欢迎,特别适合初学者入门数据挖掘。以下是RapidMiner中涵盖的关键知识点。 ### 基本术语 - **属性(Attributes)和目标属性(Target ...
第十二章“WEB挖掘”探讨了从网页中抽取和分析数据的技术,如爬虫和网络日志分析。 第十三章“推荐系统”讲解了如何构建个性化的推荐模型,常见于电商和媒体推荐。 第十四章“模型评估与优化”讲述了各种性能指标...
《S1700系列交换机 快速入门》 S1700系列交换机是华为公司推出的一款面向中小企业及分支办公室的接入层网络设备,具有高效能、易管理和低能耗的特点。这款系列主要针对网络互联的需求,提供稳定可靠的局域网连接,...
- **定义与背景**:C++Builder 5.0 是由 Interprise(Borland)公司推出的一款基于 C++ 语言的快速应用程序开发(Rapid Application Development, RAD)工具。它是将先进的组件开发思想与高效的 C++ 语言相结合的...
- **README**:通常包含框架的简介、安装说明、快速入门指南等内容,是初次接触`core|m` 的用户的重要参考。 - **core**:这个目录可能包含了框架的核心组件,如核心类库、路由配置、模型、视图和控制器等。 总的...
Python语言具有广泛的应用前景,如脚本编写、rapid应用开发、Web开发、科学计算、数据分析等领域。Python的简单、灵活和高效的特点使其非常适合各种应用场景。 知识点5:Python教程和文档 ------------------------...
《Delphi基础经典入门》Delphi快速入门经典.chm这本书可能涵盖了许多基础知识,包括创建项目、编写代码、布局设计、事件处理等,是一本不错的入门资料。 总的来说,Delphi是一款强大的开发工具,尤其适合那些希望...
2. **RAD(Rapid Application Development)工具**:DELPHI XE3的IDE提供了一流的快速应用开发体验,允许开发者通过拖放组件和编写少量代码就能实现功能丰富的应用程序。 3. **Object Pascal语言**:Object Pascal...
- **《Rapid Web Applications with TurboGears》**:介绍使用TurboGears框架快速开发Web应用的方法。 综上所述,《Rapid GUI Programming with Python and Qt》是一本非常适合Python新手入门PyQt4的书籍,同时,...
1. rapid development:Bosent 提供了丰富的工具类和服务引擎,帮助开发人员快速构建应用程序。 2. easy maintenance:Bosent 的设计理念是易于维护和扩展,帮助开发人员快速响应业务需求。 3. high scalability:...
《CodeIgniter for Rapid PHP Application Development》是一本优秀的入门书籍,由David Upton编写。本书深入浅出地介绍了如何利用CodeIgniter框架提高PHP编码效率。书中不仅涵盖了CI的基础知识和核心功能,还详细...
用法使用快速结帐存储库: svn co http://repo.mikoweb.pl/svn/joomla-startup/trunk ./ 将域附加到web目录或创建指向public_html符号链接: ln -s web public_html 运行命令: php joomla.php joomla:install 3.3.*...
入门 npm install npm test npm start 主要成分 构建/运行 依赖关系 运行脚本(生成 Beefy、JSHint 或 Mocha) 低复杂度任务不需要专用的脚本运行器 联合收割机browserify , http.Server和script-injector用...
7. **集成与API**:Mendix支持与其他系统集成,如通过REST API、Web服务或MQTT协议。考生需了解如何创建和调用API,以及数据导入导出。 8. **AI与智能组件**:Mendix Marketplace提供了许多AI和机器学习组件,如...
Ideal for developers with fundamental programming skills, this practical tutorial features learn-by-doing exercises that demonstrate how, when, and why to use the features of the C# rapid application...
本书旨在为读者提供一个快速入门的方法来设计、开发、测试和部署基于Python的Web应用。 #### 二、CherryPy简介 CherryPy是一个开源的Python Web框架,它允许开发者用Python编写Web应用程序。CherryPy的主要特点...
入门非常简单: pip install RapidML 在此处阅读RapidML文档: ://ritabratamaiti.github.io/RapidML 什么是RapidML ? 好吧,RapidML是您的智能机器学习助手,它不仅可以自动创建机器学习模型,还可以使您轻松...