C# 从C.net DLL从外部应用程序导出大文件时,无法删除“忙碌”消息

C# 从C.net DLL从外部应用程序导出大文件时,无法删除“忙碌”消息,c#,.net,dll,netmsmqbinding,C#,.net,Dll,Netmsmqbinding,我收到一个繁忙的消息框,上面说:此操作无法完成,因为CATIA-Product-[testfile.CATPart]程序没有响应。选择从切换到。。。重试或取消 问题:我需要找到一种编程方式来确保消息框永远不会出现 背景:我正在C.net中开发一个AutoDesk插件,用于临时访问非AutoDesk 3D应用程序。它使用marshal远程访问非autodesk 3D应用程序并执行长文件导出。当文件导出时,需要的时间太长,并且会显示消息。如果我等待,我可以在Windows资源管理器中看到文件完成后单

我收到一个繁忙的消息框,上面说:此操作无法完成,因为CATIA-Product-[testfile.CATPart]程序没有响应。选择从切换到。。。重试或取消

问题:我需要找到一种编程方式来确保消息框永远不会出现

背景:我正在C.net中开发一个AutoDesk插件,用于临时访问非AutoDesk 3D应用程序。它使用marshal远程访问非autodesk 3D应用程序并执行长文件导出。当文件导出时,需要的时间太长,并且会显示消息。如果我等待,我可以在Windows资源管理器中看到文件完成后单击“重试”,一切正常。但是,我不能期望客户端总是喜欢单击“重试”。我需要它来忘记信息,继续等待,如果可能的话,无限期地等待。有些文件导出可能需要一个多小时,而且还没有那么大

我尝试了几种方法,但由于我没有访问exe的权限,这是一个dll,因此我似乎对修改netmsmqbinding设置的访问权限有限制。我尝试了几种不同类型的队列和服务,但它们都可以正常启动和停止,但从未执行文件导出过程。理想情况下,我只想关闭dll中的任何潜在消息框,但如果不可能,我可以将netmsmqbinding设置重置为很长的设置吗?这对我不起作用:

namespace Testing_V0
{
    [PluginAttribute("Testing_V0R1", "ADSK", ToolTip = "Testing the plugin", DisplayName = "Testing the plugin")]
    [AddInPluginAttribute(AddInLocation.AddIn)]
    public class MyPlugin : AddInPlugin
    {
    public override int Execute(params string[] parameters)
    {
    System.TimeSpan TS = new System.TimeSpan(0, 30, 10);
    System.TimeSpan TB = new System.TimeSpan(10, 0, 0);
    NetMsmqBinding NMB = new NetMsmqBinding();
    NMB.MaxRetryCycles = 1000;
    NMB.ReceiveRetryCount = 1000;
    NMB.RetryCycleDelay = TS;
    NMB.OpenTimeout = TB;

    //NMB.ReceiveErrorHandling = ReceiveErrorHandling.Drop;

 //Do the Export process here
     }
    }
}

对于如何让这些NetMsmqBinding方法发挥作用,有什么建议吗?我可以将它们从10更改为100000000,运行代码时没有什么不同。我仍然无法使netmsmqbinding对象更改为任何内容。怎么回事?还在寻找解决办法。有人在家吗?