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

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

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

有帮助吗?

解决方案

如果您的应用程序的大部分位于后端,您仍然应该能够保持大部分代码完整,只替换前端。但是,Silverlight 需要了解 WPF,这与您的应用程序当前使用的 HTML/JS 有很大不同。我想说,如果你的 UI 非常薄,那么移植到 Silverlight 应该很容易,但是 UI 中的业务逻辑越多,移植到 Silverlight 就越困难。

其他提示

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

将代码从 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。

祝你好运!

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top