【问题标题】:How do you send a request directly to .DLL (not .ASPX, .ASHX, etc.)?如何将请求直接发送到 .DLL(不是 .ASPX、.ASHX 等)?
【发布时间】:2011-02-09 07:08:44
【问题描述】:

我想知道如何使用一些参数直接向 .DLL 发送请求。我真的不想使用 .ASPX 和 .ASHX。我希望这个 .DLL 请求用于更安全的站点。

例如:IRCTC(印度铁路站点):

https://www.irctc.co.in/cgi-bin/bv60.dll/irctc/services/login.do

请告诉我如何在 ASP.NET 中从 .DLL 发送或执行页面。

【问题讨论】:

  • 如果您不想使用 aspx 或 ashx,那么您服务器上的哪个组件正在实例化您的 dll 中的类(我假设),以便可以传递一些东西?

标签: c# asp.net security dll


【解决方案1】:

您可以通过实现IHttpHandler 接口来实现这一点,并从那里构建您自己的路由(检查 url 并找出您应该做什么并使用context.Response 编写结果)。然后像这样在 IIS6 或更低版本的 web.config 中注册它:

<httpHandlers>
  <add path="*" verb="*" type="YOUR.TYPE, YOUR.ASSEMBLY"/>
</httpHandlers>

或者对于 IIS7 或更高版本这样:

<system.webServer>
<handlers>
    <add name="All" path="*" verb="*" type="YOUR.TYPE, YOUR.ASSEMBLY"/>
</handlers>
</system.webServer>

但是,这不应该比使用框架更安全。你有什么顾虑?

【讨论】:

    【解决方案2】:

    恐怕,除了远程之外没有其他办法。但这不是一个好主意,只需使用 .asmx 即可。

    【讨论】:

    • 我们可以使用 .dll 代替 (.aspx | .ashx | .asmx).. 例如在 windows xp 中,当我们要设置文件夹图标时,大多数图标来自.dll 文件..像那样!我想在网站上也一样(不仅仅是图片)。我确信如果我们想在客户端访问 .dll 资源,它会像这样“/**WebResource.axd**?d=....”。不过还是谢谢你的回答。
    • -1:除非没有其他选择,否则不应使用 .asmx。应该改用 WCF。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-21
    相关资源
    最近更新 更多