我出于某种目的构建了一个桌面WPF C#
应用程序。 C#
应用程序调用另一个C ++应用程序中的函数,并将C ++应用程序的结果公开回C#应用程序。应用程序运行正常,但我打算将相同的功能用于Web(ASP.NET)
我可以使用我在桌面解决方案中使用的那种东西吗? ASP.NET应用程序可以将函数调用到C ++项目中,并从C ++应用程序中获取结果吗? DllImport[CallingConvention = CDecl, CharEncoding=Ansi]
修改 -
我主要担心的是,当我向C ++应用程序发出函数调用时,C ++函数需要5秒钟才能进行处理。在此期间,可以认为C#应用程序具有冻结的GUI。 ASP.NET网站中类似情况会发生什么?因为多线程而且全部都会变得一团糟吗?
答案 0 :(得分:2)
是的,ASP.NET应用程序可以使用DllImport机制。
答案 1 :(得分:1)
在ASP.NET应用程序中调用COM或pinvoked方法没有问题。即使通话持续5秒钟完成,客户端的浏览器也只是等待答案。因此,您的应用程序的用户体验非常缓慢。
通常这种持久的服务器调用会被包装在AJAX请求中,这样至少可以向用户显示一些信息,例如带有“请稍候”的旋转圈或类似的东西。
答案 2 :(得分:0)