1

我工作的公司创建了这个应用程序,它是我们业务的核心,并依赖网络浏览器来执行某些“规则”,如果没有它们,应用程序对我们的客户来说就变得毫无用处。抱歉必须谨慎,NDA 以及许多其他事情使我无法准确说出应用程序是什么。本质上,JavaScript 控制某些定时事件(必须精确到至少秒),这使得使用 ajax/回发等难以控制。

我的问题是:假设大部分代码实际上是 C# 业务逻辑而不是 asp.net 控件,将 ASP.NET 应用程序转换为 SilverLight 有多难?我刚听完 Deep Fried bytes,MS 的人说这听起来真的没什么大不了的。对于 Web 应用程序是这样,还是主要是 Win32 应用程序?

我知道 asp.net 前端与 SilverLight 有根本的不同,但有一堆 C# 代码我不想在必要时重写。我假设将javascript代码替换为silverlight是微不足道的(我知道假设不好,但我必须从某个地方开始),因为它处理定时事件,所以我并不真正关心这一点。我需要想出一个如何缓解这个问题的解决方案,我希望这是一个中间立场:什么都不做,看着我们被客户敲打,用比网页更安全的方式重写整个应用程序只有前端验证。有没有人尝试将 ASP.NET 代码转换为 SilverLight 项目?

4

3 回答 3

1

如果您的应用程序的大部分都在后端,您应该仍然能够保持大部分代码不变并且只替换前端。但是,Silverlight 需要了解 WPF,这与您的应用当前使用的 HTML/JS 截然不同。我想说如果你的 UI 很薄,移植到 Silverlight 应该很容易,但是 UI 中的业务逻辑越多,它就越难。

于 2008-09-15T17:12:20.953 回答
0

您使用类库的频率如何,以及可能被视为“危险”的东西,例如 pinvoke、文件系统访问和 System.Diagnostics.Process?

于 2008-09-15T17:18:56.630 回答
0

将代码从 ASP.NET 移植到 Silverlight 并非易事。正如 Nate 所指出的,这取决于 ASP.NET 应用程序中有多少是基于 AJAX 的,有多少是基于服务器控件的。

Silverlight 是一种状态完整的客户端技术,这意味着一切都在浏览器内的客户端上运行。ASP.NET 是一种服务器技术,围绕请求/响应模型构建。由于这两个是完全不同的范例,它不是一个直接的端口。

然而,由于 ASP.NET 只是表单数据的 HTML 和 HTTP POST,人们已经进行了实验,他们在 ASP.NET 页面上直接添加了一个 Silverlight 应用程序,并手动构建 HTTP POST 请求并发送回确切的数据ASP.NET 应用程序工作。这几乎就像为您自己的应用程序进行“屏幕抓取”一样。这可以工作,但不会是最佳的。您不会获得性能提升,因为您的 ASP.NET 应用程序必须在每个请求上都经过一个完整的页面周期。

更好的选择是开始将用户在 APS.NET 应用程序中拥有的任何功能包装为 Web 服务。您可以在 ASPX 页面旁边添加这些服务,并逐渐移植应用程序。您将基于这些服务从头开始构建的 UI。

祝你好运!

于 2008-09-15T22:27:17.233 回答