我在C#中编写了一个应用程序,我现在希望在ASP.NET网站(MVC 2)中托管。
应用程序可能会变得非常耗费资源,因此我希望以每个用户下载应用程序并在本地运行它的方式设置系统,但仍然在我提供的网页中。
我解决这个问题的第一个想法是在Silverlight应用程序中托管该程序。但是,我想要托管的应用程序不是为Silverlight编译的,我想在其中使用MySQL,这似乎也不可能直接(即中间没有Web服务)。
最重要的是,我们还没有直接体验这些东西,我需要研究如何使解决方案成为可能。所以我真的很感激一些输入让我朝着正确的方向前进,并且在找到合适的选项之前不必执行3个错误的选项。如果可能的话,我也非常想避免使用JavaScript。
提前致谢。
更新
我可能应该指定从应用程序的确切开始。 我希望在网站上托管它的应用程序是一个简单的聊天程序。它需要一个输入框和文本输出。旧的Windows窗体应用程序不必在ASP中运行,但我想使用它后面的类库,这是一个聊天机器人引擎。该引擎是可能相当资源密集的部分。
答案 0 :(得分:0)
所以你编写了一个“富客户端”应用程序,并希望将其作为web / silverlight应用程序提供。如果不改变应用程序的体系结构,这是不可能的,正如您可能猜到的那样,尤其是因为您必须连接数据库。如果重写应用程序以支持此类体系结构不是一种选择,那么对我来说最好的是使用Remote Desktop,但是您必须为许可证付费才能支持许多连接。
答案 1 :(得分:0)
如果您的应用程序不是Web应用程序,则它将无法在服务器上运行。您的服务器唯一能做的就是提供下载位置。为此,您不需要MVC站点 - 静态页面可以适合。在客户端上运行的普通应用程序和在IIS上运行的服务器应用程序之间的编程模型完全不同。简而言之:您将无法在ASP.NET MVC中托管客户端应用程序。如果这是一项要求,您将最终重写该应用程序。
如果您的应用程序是ASP.NET WebForms并且它变得太资源匮乏,那么您可能无法通过切换到MVC来解决它。您可以选择不同的选项:服务器端的更多资源,分析可以采取哪些措施来降低所需资源或远离基于服务器的应用程序。这不是一个黑/白决定,可能是一个组合可能适合。