我的WCF服务位于此位置
http:/xxx.xxx.xxx.xxx:6040/service.svc/
在IIS7.5中,包含两个合同SubmitReturn
和GetForward
。
但是客户在
调用该服务http:/xxx.xxx.xxx.xxx:6040/SubmitReturn/232323
在根上,即网址中没有服务名称,但应该像这样调用服务
http:/xxx.xxx.xxx.xxx:6040/service.svc/SubmitReturn/123456789
那么如何在
中提供WCF服务http:/xxx.xxx.xxx.xxx:6040/
而不是
http:/xxx.xxx.xxx.xxx:6040/service.svc/
在IIS的根目录?
答案 0 :(得分:0)
参考 Creating WCF service without .svc file
和其中一条评论中提到的链接 - http://blogs.msdn.com/b/rampo/archive/2009/10/27/activation-without-svc-files-config-based-activation-cba.aspx
答案 1 :(得分:0)
我正在关注此链接进行网址重写( 良好链接 )
<强> www.iis.net/learn/extensions/url-rewrite-module/using-failed-request-tracing-to-trace-rewrite-rules 强>
url重写在我的服务器上的“article.aspx”(转到上面提供的链接)上工作正常。
但是对于我的服务,它给出了错误“ 端点未找到 ”。
这是我最新的web.config文件:
<?xml version="1.0"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
<system.web>
<compilation debug="true" />
</system.web>
<system.serviceModel>
<services>
<service name="MessageWebService.MessageWebService">
<host>
<baseAddresses>
<add baseAddress="http://localhost:6040"/>
</baseAddresses>
</host>
<endpoint
address=""
binding="webHttpBinding"
contract="MessageWebService.IMessageWebService"
bindingConfiguration="MessageWebService"
behaviorConfiguration="MessageWebService">
</endpoint>
</service>
</services>
<bindings>
<webHttpBinding>
<binding name="MessageWebService"
maxReceivedMessageSize="2147483647"
maxBufferSize="2147483647" />
</webHttpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="True"/>
<serviceDebug includeExceptionDetailInFaults="False" />
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="MessageWebService">
<webHttp/>
</behavior>
</endpointBehaviors>
</behaviors>
</system.serviceModel>
<system.webServer>
<rewrite>
<rules>
<rule name="Fail bad requests">
<match url="." />
<conditions>
<add input="{HTTP_HOST}" negate="true" pattern="localhost" />
</conditions>
<action type="AbortRequest" />
</rule>
<rule name="Rewrite to MessageWebService.MessageWebService.svc">
<match url="*" />
<action type="Rewrite" url="/MessageWebService.MessageWebService.svc/{R:0}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>