C# 如何为承载在IIS上的WCF服务指定端点地址?

C# 如何为承载在IIS上的WCF服务指定端点地址?,c#,.net,wcf,C#,.net,Wcf,我有一个简单的wcf服务,带有basicHttpBindings,希望将其托管在IIS上 但当我指定 myAddress被忽略。换句话说,我希望它创建我的服务端点,比如localhost:1111/myaddress/PublicService.svc,但它只是通过组合localhost和PublicService.svc来创建端点-localhost:1111/PublicService.svc 为什么我需要? 我在project中托管了一些其他服务,希望在localhost之后使用不同的u

我有一个简单的wcf服务,带有basicHttpBindings,希望将其托管在IIS上

但当我指定
myAddress被忽略。换句话说,我希望它创建我的服务端点,比如localhost:1111/myaddress/PublicService.svc,但它只是通过组合localhost和PublicService.svc来创建端点-localhost:1111/PublicService.svc

为什么我需要? 我在project中托管了一些其他服务,希望在localhost之后使用不同的url创建它们中的每一个(我不想将它们移动到不同的文件夹)

我在谷歌上搜索发现,在IIS上托管时忽略了主机基址,端点地址也是这样吗?

提前谢谢

<service name="Wcf.Services.AdminService">
    <endpoint address="/address" binding ="basicHttpBinding" contract="Wcf.Contracts.IAdminService"/>
    <endpoint address="mex" binding ="mexHttpBinding" contract="IMetadataExchange"/>
  </service>
  <service name="Wcf.Services.PublicService">
    <endpoint address="/address1" binding="basicHttpBinding" contract="Wcf.Contracts.IPublicService"/>
    <endpoint address="mex" binding="basicHttpBinding" contract="IMetadataExchange"/>
  </service>


假设您的服务的基址是
http://localhost:1111/PublicService.svc
,指定
address=“/myAddress”
属性将导致该端点的地址变为
http://localhost:1111/PublicService.svc/myAddress
。端点的相对路径位于服务地址之后

我认为您的问题可能与Service.svc文件中的问题类似

打开它并修改其中的单行,如下所示:

<%@ ServiceHost Language="C#" Debug="true" Service="Wcf.Services.PublicService" %>

你可以遵循好的教程,我几天前刚做过


希望有帮助

如果将服务放在名为“myAddress”的文件夹中,路径将从/PublicService.svc->/myAddress/PublicService.svc更改。如果您想将它们全部存储在一个地方,但存储到不同的路径,您应该考虑添加ServiceRoutes。但是,如果端点地址不能“适当”使用,为什么我们需要它呢?它们是否仅用于windows服务中的自托管服务?