Web表单模块开发
Web表单模块体系结构
Web Forms模块遵循标准DNN模块体系结构模式,并使用传统的服务器端渲染模型。当页面被请求时,DNN将创建模块定义中定义的相关模块控件的实例。模块控件继承自包含表示逻辑的代码隐藏类,并对业务逻辑层中的适当业务方法进行额外调用。

如果需要,您可以包括web服务端点以支持移动应用程序的访问。当从移动应用程序访问模块时,表示层移动到移动设备,服务层成为调用适当业务方法的服务器端端点。

构建Web表单模块
在Visual Studio中,模块可以创建为以下项目类型之一:
- 网站计划(WSP)
- Web应用程序项目(WAP)
使用WSP项目类型构建的模块包括源代码,作为模块包的一部分。源代码是在运行时编译的,因此,允许您直接在服务器上轻松地修改代码。虽然这种方法提供了更新的灵活性,但它也降低了启动性能,并可能使模块升级复杂化。
WSP项目没有项目文件(.csproj或. vbproj).相反,他们依赖于文件作为一个完整网站的一部分。创建WSP模块时,所有用户控件、相关的隐藏代码文件和其他相关文件都放置在项目文件夹中DesktopModules文件夹中。与用户控件不关联的所有代码文件必须放在App_Code文件夹在网站的根目录。这种脱节的代码模型使模块开发和打包变得复杂。
使用WAP项目类型构建的模块在开发时进行编译,不需要您将源代码包含在模块中。WAP项目有一个项目文件,并作为独立的项目创建。
虽然推荐使用Visual Studio进行模块开发,但您可以使用标准文本编辑器或附带的DNN module Creator创建模块。然而,这些工具不提供.NET编译器支持;因此,它们更适合开发基于jsp的模块。
您可以按照您希望的任何方式组织Web Forms项目文件。许多模块开发人员根据逻辑架构组织项目文件。
打包Web表单模块
使用WAP项目类型创建的模块可以利用MS Build脚本自动绑定模块文件和模块清单。基于asp的模块可以使用DNN中提供的包向导进行打包。
不管项目类型如何,Web Forms模块包包括以下文件:
- 要求
- 用户控件(.ascx)包含呈现模块UI所需的标记。
- 代码文件(cs或.vb)包含业务逻辑、缓存逻辑和数据访问代码(仅包含在WSP项目类型中)。
- 清单文件(.dnn)包含安装模块所需的模块定义信息。
- 程序集(. dll)是编译后的模块代码和第三方参考库。WSP项目将没有编译模块的程序集,但仍可能包含第三方参考库。
- SQL脚本(.sqldataprovider)是创建或更新模块的数据库对象所需的代码。
- 可选
- 资源文件(. resx)包含本地化字符串。
- JavaScript文件(. js)包含用于客户端逻辑的代码。
- 样式表(. css)包含模块所需的自定义样式。
- 文本文件(. txt)包括模块安装时显示的release.txt和license.txt文件。
DNN模块创建者自动将文件放置在适当的文件夹中(App_Code和DesktopModules),并可用于封装完成的模块。