IIS 下运行 ASMX
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IIS 下运行 ASMX相关的知识,希望对你有一定的参考价值。
各位大哥大姐 小弟对与ASP.NET很陌生不了接 不知道ASMX怎么在IIS下运行 我的系统是 WinXP SP2+IIS 运行不了ASMX 请问需要什么组件或补丁
请详细说明 小弟我比较笨 请大哥大姐们教教小弟 谢谢
我运行的结果是把文件里的内容在IE里显示出来 我不知道是否对
iis urlrewrite HTTPS,除了服务(.asmx 和 .svc)或带有参数/值的特定服务
【中文标题】iis urlrewrite HTTPS,除了服务(.asmx 和 .svc)或带有参数/值的特定服务【英文标题】:iis urlrewrite HTTPS except services (.asmx and .svc) or Specific service with parameters / values 【发布时间】:2020-11-15 04:45:18 【问题描述】:我希望我的网站使用默认 HTTPS,但服务(*.asmx 和 *.svc)除外,以便在 Http 和 Https 中工作。
一些restful服务是http,因为客户端是jsp开发的,使用http请求,一个客户端是windows,使用和https一样的服务。
我想跳过 *.asmx 和 *.svc 或特定服务,以便任何客户端都可以通过 http 或 https 请求服务。
我正在使用下面的代码:
<rule name="Force HTTPS" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAll">
<!-- <add input="HTTPS" pattern="^OFF$" /> -->
<add input="HTTPS" pattern="off" ignoreCase="true" />
<add input="REQUEST_URI" negate="true" pattern="^/myservice.svc$" ignoreCase="true" />
<add input="REQUEST_URI" negate="true" pattern="^/myservice.svc?(.*)" ignoreCase="true" />
<add input="REQUEST_URI" negate="true" pattern="^/restserv.svc$" ignoreCase="true" />
<add input="REQUEST_URI" negate="true" pattern="^/restserv.svc/(.*)" ignoreCase="true" />
</conditions>
<action type="Redirect" url="https://HTTP_HOST/R:1" appendQueryString="true" redirectType="Permanent" />
</rule>
它们都不起作用:只有 /myservice.svc 在 http 中起作用,但是当用户使用参数 /myservice.svc?wsdl 或 / myservice.svc/getdata/user-name 将其转发到 https。 restserv.svc 也是如此
如何使用参数跳过 *.svc 或我的特定服务?
【问题讨论】:
【参考方案1】:你可以试试下面的规则:
<rule name="Https Except Service" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAll">
<add input="HTTPS" pattern="off" ignoreCase="true" />
<add input="REQUEST_URI" negate="true" pattern="^/(myservice\.svc.*)" ignoreCase="true" />
<add input="REQUEST_URI" negate="true" pattern="^/(restserv\.svc.*)" ignoreCase="true" />
</conditions>
<action type="Redirect" url="https://HTTP_HOST/R:1" appendQueryString="true" redirectType="Permanent" />
</rule>
如果您仍然遇到问题,请尝试在 iis 中运行失败的请求跟踪:
Using Failed Request Tracing to Trace Rewrite Rules
【讨论】:
以上是关于IIS 下运行 ASMX的主要内容,如果未能解决你的问题,请参考以下文章