Web表单模块开发

  • 平台
  • Evoq内容
  • Evoq参与

Web表单模块体系结构

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


Web Forms模块的逻辑体系结构

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


通过Web服务访问Web表单模块

构建Web表单模块

在Visual Studio中,模块可以创建为以下项目类型之一:

  • 网站计划(WSP)
  • Web应用程序项目(WAP)

使用WSP项目类型构建的模块包括源代码,作为模块包的一部分。源代码是在运行时编译的,因此,允许您直接在服务器上轻松地修改代码。虽然这种方法提供了更新的灵活性,但它也降低了启动性能,并可能使模块升级复杂化。

重要的是:对于商业模块开发,不推荐使用WSP项目类型,因为它需要随模块一起发布源代码。

WSP项目没有项目文件(.csproj. vbproj).相反,他们依赖于文件作为一个完整网站的一部分。创建WSP模块时,所有用户控件、相关的隐藏代码文件和其他相关文件都放置在项目文件夹中DesktopModules文件夹中。与用户控件不关联的所有代码文件必须放在App_Code文件夹在网站的根目录。这种脱节的代码模型使模块开发和打包变得复杂。

使用WAP项目类型构建的模块在开发时进行编译,不需要您将源代码包含在模块中。WAP项目有一个项目文件,并作为独立的项目创建。

注意:微软为ASP推荐WAP项目类型。网络的发展。(见Web应用程序项目vs . Visual Studio中的Web站点项目)。

虽然推荐使用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_CodeDesktopModules),并可用于封装完成的模块。