【问题标题】:Autodesk Forge - Revit - System.Net.WebException: Unable to connect to the remote serverAutodesk Forge - Revit - System.Net.WebException:无法连接到远程服务器
【发布时间】:2021-05-08 23:12:02
【问题描述】:

我们在 Autodesk Forge for Revit 上有一个应用程序。在通过这个应用程序处理的过程中,它通过一些参数连接到我们服务器上的 URL

这个网址是活跃的,我们可以通过浏览器毫无问题地访问它。但是通过应用程序,当我们提交工作项并获得响应时,我们收到以下错误

[02/04/2021 13:33:06] 在 System.Net.WebClient.OpenWrite(Uri 地址,字符串方法)

提交工作项后,我们从响应中的报告网址获得的报告片段如下(一些不相关但专有信息已被删除)

[02/04/2021 13:32:36] Running RevitAssemblyResolver....
[02/04/2021 13:32:36] Initializing RevitCoreEngine...
[02/04/2021 13:32:36] Selected Revit\RCE install Path: (from app.config) C:\Revit2019
[02/04/2021 13:32:36] Resolving location of Revit/RevitCoreEngine installation...
[02/04/2021 13:32:36] Running user application....
[02/04/2021 13:32:41] Found an addIn for registration: XXXXX.addin
[02/04/2021 13:32:41] Initializing RCE....
[02/04/2021 13:32:41] Initializing RevitCoreEngine (and possibly running stub installer)...
[02/04/2021 13:32:41] Language not specified, using English as default
[02/04/2021 13:32:44] Initialize and  get RCE: (VersionBuild) 19.0.0.0 (VersionNumber) 2019 (SubVersionNumber) 2019.2
[02/04/2021 13:33:06] System.Net.WebException: Unable to connect to the remote server ---> System.Net.Sockets.SocketException: An attempt was made to access a socket in a way forbidden by its access permissions 
[02/04/2021 13:33:06]    at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
[02/04/2021 13:33:06]    at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception)
[02/04/2021 13:33:06]    --- End of inner exception stack trace ---
**[02/04/2021 13:33:06]    at System.Net.WebClient.OpenWrite(Uri address, String method)**

导致问题的方法是 OpenWrite 。其中一个参数是我们末尾的 URL,第二个参数是“POST”。

是我们在 Forge 上传应用程序时必须指定的一些参数,还是我们服务器端的一些参数?一点头绪都没有。任何帮助将不胜感激。

【问题讨论】:

    标签: autodesk-forge


    【解决方案1】:

    工作项运行过程中,不支持直接与其他服务器通信。如果您的插件需要从您的服务器获取一些数据,最好将其定义为活动参数,然后当工作项启动时,它会将数据下载到工作目录,如果您的插件需要将一些数据发布到您的服务器,更好地完成正在进行的工作或 onComplete 回调。

    这是一篇详细介绍相关做法的博客: https://forge.autodesk.com/blog/communicate-servers-inside-design-automation

    【讨论】:

    • 感谢梁老师的回答。我们最终压缩了数据并将该 zip 指定为输出文件。这样我们就不必在工作项运行的过程中发送文件了。
    猜你喜欢
    • 2018-07-11
    • 2015-05-27
    • 2018-03-20
    • 2016-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多