隐藏wsdl';在WCF上的web浏览器中存储xml信息?

隐藏wsdl';在WCF上的web浏览器中存储xml信息?,xml,wcf,service,wsdl,asmx,Xml,Wcf,Service,Wsdl,Asmx,有没有一种方法可以让客户端使用wsdl,但是只隐藏它的xml,在web浏览器中打开时显示方法 例如,以下内容对于asmx非常有效: <system.web> <webServices> <wsdlHelpGenerator href="Blank.aspx"/> </webServices> </system.web> svc是否有上述任何替代方案 删除serviceMetadata或将http

有没有一种方法可以让客户端使用wsdl,但是只隐藏它的xml,在web浏览器中打开时显示方法

例如,以下内容对于asmx非常有效:

  <system.web>
    <webServices>
      <wsdlHelpGenerator href="Blank.aspx"/>
    </webServices>
  </system.web>

svc是否有上述任何替代方案


删除serviceMetadata或将httpGetEnabled更改为false会使wsdl不可用,这不是我想要的。我只想在web浏览器中打开时使其内容不可见。

如果您想将用户重定向到另一个地址,如果他/她请求您的
svc
文件,您可以使用
重写
如:

<system.webServer> 
         <rewrite>
             <rules>
                <clear />
                  <rule name="Redirect to Blank" stopProcessing="true">
               <match url="^(.+wsdl.+)/?$" /> 
                <action type="Redirect" url="http://yourDomain/Blank.aspx" redirectType="Permanent" appendQueryString="false" />
            </rule>
            </rules>
        </rewrite>
  </system.webServer>

如果请求了
wsdl
,则应该将用户重定向到
yourDomain/Blank.aspx
但是应该有其他的方法,但是我已经在我的系统上测试过了,效果很好

只需在服务(服务器端)的配置文件中添加此配置

更新:


您还可以使用
重定向包含
svc
wsdl
singleWsdl
的URL

如果您希望将用户重定向到另一个地址,如果他/她请求您的
svc
文件,您可以使用
rewrite
如下所示:

<system.webServer> 
         <rewrite>
             <rules>
                <clear />
                  <rule name="Redirect to Blank" stopProcessing="true">
               <match url="^(.+wsdl.+)/?$" /> 
                <action type="Redirect" url="http://yourDomain/Blank.aspx" redirectType="Permanent" appendQueryString="false" />
            </rule>
            </rules>
        </rewrite>
  </system.webServer>

如果请求了
wsdl
,则应该将用户重定向到
yourDomain/Blank.aspx
但是应该有其他的方法,但是我已经在我的系统上测试过了,效果很好

只需在服务(服务器端)的配置文件中添加此配置

更新:


您还可以使用
重定向包含
svc
wsdl
singleWsdl
的URL

这是正确的方向,但是特定的正则表达式和操作并没有完全按照我想要的方式工作

1) http://{domain}/{service}.svc->https://{domain}/blank.aspx(良好)

2)http://{域}/{Service } .svc?WSDL->(当我按下F12因为找不到BLACK.HTML页)时,显示了一个错误

3) http://{domain}/{service}.svc?singleWsdl->(未更改)

4) https://{domain}/{service}.svc->(未更改)

5) https://{domain}/{service}.svc?wsdl->(未更改)


6) https://{domain}/{service}.svc?singleWsdl->(不改变)

这是正确的方向,但是特定的正则表达式和操作并没有完全按照我想要的方式工作

1) http://{domain}/{service}.svc->https://{domain}/blank.aspx(良好)

2)http://{域}/{Service } .svc?WSDL->(当我按下F12因为找不到BLACK.HTML页)时,显示了一个错误

3) http://{domain}/{service}.svc?singleWsdl->(未更改)

4) https://{domain}/{service}.svc->(未更改)

5) https://{domain}/{service}.svc?wsdl->(未更改)


6) https://{domain}/{service}.svc?singleWsdl->(未更改)

我认为您可以使用户
重写
并将用户重定向到另一个地址。我认为您可以使用户
重写
并将用户重定向到另一个地址。有任何反馈吗?这是你想要的吗?阿里亚,对不起,我第一次使用这个论坛。我试图对你的答案发表评论,但结果却把它作为一个答案添加了进去。请看一看。@saaz看到更新,阅读一些关于Regex和URL重写模块的内容,我认为这个答案为您提供了很好的解决方案,并按照您的预期进行了一些更改。重定向现在工作正常,但原来的问题又回来了。我不再能够使用SoapUI连接到wsdl。是的,当然不能,因为浏览器中的浏览服务和SoapUI之间没有区别,我以为您在后端代码中使用该服务。有任何反馈吗?这是你想要的吗?阿里亚,对不起,我第一次使用这个论坛。我试图对你的答案发表评论,但结果却把它作为一个答案添加了进去。请看一看。@saaz看到更新,阅读一些关于Regex和URL重写模块的内容,我认为这个答案为您提供了很好的解决方案,并按照您的预期进行了一些更改。重定向现在工作正常,但原来的问题又回来了。我不再能够使用SoapUI连接到wsdl。是的,当然不能,因为浏览器中的浏览服务和SoapUI之间没有区别,我以为您正在后端代码中使用该服务。