0

我们已经开始将 .NET 胖客户端应用程序迁移到 Web。工作范围仅限于将 winforms UI 迁移到 Web UI。在剥离较早的 Web 服务包装层作为表示组件之后,商务逻辑组件将按原样重用,商务组件将在 IIS 上并置。我们决定为此目的使用 WCSF。我想验证一些架构/设计决策,

  1. 我们是否需要为 AJAX 使用 JS 框架,例如 jQuery、DOJO 等?或者 ASP.NET 控件是否具有足够的内置支持来处理所有基于 JS 的前端验证、AJAX 表单提交、错误消息显示等。

  2. 使用基础模块有什么问题吗?在启动期间加载和缓存所有模块是否会使应用程序变得沉重?

  3. 对所有服务功能使用静态方法/类是一种好方法吗?或者我们应该改为具有服务依赖的非静态类/方法?

我是 .NET 的新手 :)

4

2 回答 2

0

您的个人资料表明,虽然您可能是 .NET 新手,但您是一位经验丰富的 Java 开发人员。

1 - 我同意 TomTom 的观点,即您不需要 JS 框架,但 ASP.NET WebForms 验证控件非常有限。您很快就会发现自己需要编写自定义 JS,并且从一开始就拥有一个像 jQuery 这样的框架会很有帮助。使用 jQuery 的选择器,当有人单击一个按钮以防止双重回发时禁用所有按钮之类的事情变得更加容易。

也就是说,另一种选择是从 Telerik、DevExpress 或 Infragistics 等公司购买一些第三方控件。有一组免费、开源、社区维护的 AJAX 控件,称为 ASP.NET AJAX 控件工具包,位于:http ://www.asp.net/ajaxlibrary/AjaxControlToolkitSampleSite 。默认的 ASP.NET 控件非常基本。

2 - 所有 ASP.NET 应用程序都有一个不可避免的启动时间,当它们在更新后的第一次访问时加载到内存中,对于典型的业务线应用程序来说大约是 10 到 20 秒。我还没有调查 WCSF 的模块加载器增加了多少时间,但无论如何它都会成为初始加载的一部分。通常,您在更新 ASP.NET 站点后访问一次以强制初始加载,这样客户端就不必这样做了。在这种情况下,WCSF 添加的任何时间对客户来说都无关紧要。

3 - 对服务使用静态方法的一个缺点是您不能将它们添加到 .NET 中的接口。如果您使用的是 WCSF,我强烈建议您使用其 DI 功能来解析接口,这意味着只使用非静态的东西。使用非静态事物(例如仅运行一次而无法更新成员变量的构造函数/初始化程序)也更难遇到单元测试问题。

于 2011-10-25T20:10:23.157 回答
-1

我是 .NET 的新手 :)

听起来更像是一个初级开发者。

回复 3:不好的方法。使用依赖注入器,并在 90% 的情况下避免使用静态方法。你放弃了很多灵活性。顺便说一句,我的初级开发人员方法来自 - 静态方法和“修复”是多年来的标准 IT 架构,与 .NET 无关。

回复 1:您不需要使用 JS 框架。你也不需要买车,可以自己造。虽然它不具有成本效益。Web应用程序?首先学习 .NET.... 就像 Microsoft 在版本 3 中有一个名为 MVC 的新子框架,它使开发好的软件更容易(可测试的后端)并且更适合 Web 应用程序。用于 asp.net 和整个 webform 框架的 MS 内部标准控件是有限的,并且有自己的一系列问题。也就是说,如果您知道自己在做什么,MVC 是最有用的——JQuery 明智(集成)和单元测试/架构明智。

回复 2:你在乎什么 ;) 如:即使这让他们在学业上变慢,它也不是真的相关。也就是说,什么是基础模块?我在 ASP.NET 框架或 IIS 文档中都没有看到这个词。

于 2011-05-21T04:09:21.750 回答