我的情况是,我们正在聚合来自N个客户端的营销数据,客户端可以使用他们选择的任何后端托管HTML表单,每个客户端都可以使用表单的操作指向一个路径我们正在主持。每个客户端都有一个不同的URL,没有auth(但有一些简单的数据验证),而且一切正常。
但是,有一个小皱纹,我似乎无法理解。
处理提交数据的aspx驻留在路径上,我们称之为〜/ submit / default.aspx。我们的想法是应能够将“http://sample.com/submit/?foo=bar”行中的URL作为其表单的操作传递给我们的合作伙伴。但是,这样做会导致HTTP 405错误,“资源不允许”。
将表单的操作设置为“http://sample.com/submit/default.aspx”可以正常工作。但是,
这是我能想到的首先要仔细检查的两件事 - 其他人有什么想法吗?我宁愿使用IIS7进行URL重写/路由,但遗憾的是这不是一个选项 - 而且我还有一些额外的要求,其中“干净”的URL将更受欢迎,因此解决这个问题将是一个非常好的问题。通过的核心问题。
答案 0 :(得分:1)
IIRC,如果请求的资源是目录,IIS将仅使用默认文档。由于第一种情况下请求的资源不是,它永远不会通过默认的文档处理程序 - 而是在POST上失败到未注册的脚本扩展(405)。
答案 1 :(得分:0)
它可能取决于文档类型“http://sample.com/submit/?foo=bar”...如果IIS不知道如何处理返回给它的文档类型(然后将其返回给您,客户端),那么你可能会得到一个http 405错误 - 这意味着它不知道如何处理该文档类型,服务器方式。也许尝试一下这样的东西 在驱动应用程序的web.config文件中。 HTTP处理程序是模块化的代码片段,以.net语言编写和编译,如果您熟悉Java术语,则可以充当“servlet”。它是一段向客户端写出内容的代码 - 在您的情况下可能是.doc文件的呈现,在您的处理程序类中以编程方式找到。
答案 2 :(得分:0)
由于某种原因,它没有呈现我的代码样本!!你们需要解码和编码小于和大于你的“你的答案”文本框的标志......无论如何,
<httpHandlers>
<add verb="your.class.to.handle.doc.files"/>
</httpHandlers>
应该是你的web.config文件中的内容。