将C#桌面应用程序移植到web
出于某种目的,我构建了一个桌面将C#桌面应用程序移植到web,c#,c++,asp.net,wpf,C#,C++,Asp.net,Wpf,出于某种目的,我构建了一个桌面wpfc应用程序。“代码> C<< /C>应用程序调用另一C++应用程序中的函数,C++应用程序的结果被暴露回C语言应用程序。该应用程序运行良好,但我打算在web上使用相同的功能(ASP.NET) 我可以使用我在桌面解决方案中使用的相同类型的东西吗?ASP.NET应用程序可以调用一个函数到C++项目中,并从C++应用程序返回结果吗?code>DllImport[CallingConvention=CDecl,CharEncoding=Ansi] 编辑-- 我的主要担
wpfc
应用程序。“代码> C<< /C>应用程序调用另一C++应用程序中的函数,C++应用程序的结果被暴露回C语言应用程序。该应用程序运行良好,但我打算在web上使用相同的功能(ASP.NET)
我可以使用我在桌面解决方案中使用的相同类型的东西吗?ASP.NET应用程序可以调用一个函数到C++项目中,并从C++应用程序返回结果吗?code>DllImport[CallingConvention=CDecl,CharEncoding=Ansi]
编辑--我的主要担心是,当我向C++应用程序发出函数调用时,C++函数需要5秒来完成它的处理。在此期间,可以认为C#应用程序具有冻结的GUI。在ASP.NET网站的类似情况下会发生什么?是否会因为多线程等原因而造成混乱?是的,ASP.NET应用程序可以使用DllImport机制。从ASP.NET应用程序中调用COM或pinvoked方法没有问题。即使呼叫持续5秒钟才能完成,客户端浏览器也只需等待应答。因此,应用程序的用户体验非常缓慢 通常,这种长时间的服务器调用被包装在AJAX请求中,这样至少可以向用户显示一些信息,比如带有“请等待”或类似内容的旋转圆圈 基本上是一样的! wpf使用与aps.net相同的clr 区别在于,web应用程序主要是一个多用户环境。
因此,您的com/c++组件必须与并发用户一起工作。这是不同的还是相同的?我的主要担心是,当我向C++应用程序发出函数调用时,C++函数需要5秒来完成它的处理。在此期间,可以认为C#应用程序具有冻结的GUI。在ASP.NET网站的类似情况下会发生什么?如果计算需要5秒,服务器上的请求处理也需要同样的5秒(+发送响应需要一些时间,但以毫秒为单位)。客户端将等待服务器的响应。如果使用AJAX,网页将不会被冻结。否则,用户将等待整页数据(可能会看到上一页/空白页并在浏览器中加载动画)。处理请求的最长时间可在web服务器中配置(可能会使用IIS)。有很多用于稳定性/可伸缩性等的可配置值。。。