【问题标题】:Using emsserver/emsserver.dll in URL of API Call in Production Environment生产环境API调用URL中使用emsserver/emsserver.dll
【发布时间】:2019-09-20 15:18:53
【问题描述】:

我创建了一个利用 RAD Studio 的 EMS 服务器功能的应用程序。该开发已在生产环境中完成并经过测试。 EMS 服务器文档显示,为了进行 API 调用,需要将 emsserver.dll 包含在 URL 中。

https://{hostname}/emsserver/emserver.dll/API/Login?token={TokenValue}

我遇到的大多数 API 都没有将 dll 嵌入到 URL 中。

https://{hostname}/API/Login?token={TokenValue}

这没什么大不了的,因为 API 调用可以正常工作。我只是想知道我是否可以在 RAD 服务器或 IIS 中使用属性或设置来默认 URL 的 emsserver/emsserver.dll 部分。

【问题讨论】:

标签: iis ems rad-studio


【解决方案1】:

您的意思是要在 IIS 中将 url 从 https://{hostname}/API/Login?token={TokenValue} 重定向或重写为 https://{hostname}/emsserver/emserver.dll/API/Login?token={TokenValue}

如果这是你的reuqimrent,我建议你可以尝试使用url rewrite extension来实现你的reuqirement。

你可以从这个 url 安装它,并将下面的 url 重写规则添加到你的 web.config 文件中。

<system.webServer>

<rewrite>
<rules>
                <rule name="Redirect to dll">
                    <match url="API/Login" />
                    <action type="Rewrite" url="https://{hostname}/emsserver/emserver.dll/API/Login" />
                </rule>

</rules>
</rewrite>
</system.webServer>

【讨论】:

  • 谢谢白兰度。我快速查看了 Lex 确定的文档,看来我可能想按照您的建议重写 URL。我刚刚被拉到一项优先任务上。一有机会,我就试试看。
  • 感谢白兰度和@Lex。下载 URL 重写扩展后,我应用了一个与 Brando 非常相似的规则,只是我使用正则表达式来捕获整个 API 调用
猜你喜欢
  • 1970-01-01
  • 2018-07-12
  • 2019-03-18
  • 1970-01-01
  • 2019-02-11
  • 2011-03-02
  • 2013-08-15
  • 1970-01-01
  • 2011-01-05
相关资源
最近更新 更多