Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将C#桌面应用程序移植到web_C#_C++_Asp.net_Wpf - Fatal编程技术网

将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)。有很多用于稳定性/可伸缩性等的可配置值。。。