主机名映射到ASP.NET/WCF中的目录

主机名映射到ASP.NET/WCF中的目录,asp.net,wcf,iis,Asp.net,Wcf,Iis,我读过很多与此相关的帖子,但还没有找到解决方案 我在ASP.NET项目的目录“/api”中有一组WCF服务文件(*.svc) 我已经将api.mydomain.com和www.mydomain.com都指向了运行该项目的服务器 目前,要访问.svc文件,我必须像这样构造url: api.mydomain.com/api/[servicefilename].svc 理想情况下,我希望找到一些可以对web.config进行的更改,这些更改将允许对同一资源使用此url: api.mydomain.co

我读过很多与此相关的帖子,但还没有找到解决方案

我在ASP.NET项目的目录“/api”中有一组WCF服务文件(*.svc)

我已经将api.mydomain.com和www.mydomain.com都指向了运行该项目的服务器

目前,要访问.svc文件,我必须像这样构造url:

api.mydomain.com/api/[servicefilename].svc

理想情况下,我希望找到一些可以对web.config进行的更改,这些更改将允许对同一资源使用此url:

api.mydomain.com/[servicefilename].svc

一个限制:我无法更改IIS配置,因为我正在使用Elasticbeanstalk部署到EC2


感谢您在这方面的帮助…

如果您使用的是WCF 4,您甚至不需要svc文件

在web.config中放入类似的内容

<serviceHostingEnvironment multipleSiteBindingsEnabled="true">
    <serviceActivations>
        <add relativeAddress="Service.svc" service="MyService" />
    </serviceActivations>
</serviceHostingEnvironment>


有更多的例子,包括服务主机工厂的使用,以及无扩展URL,这很有趣,但似乎没有直接解决这个问题(除非我有误解)。我想要的是一种将api.*主机名映射到项目中的/api目录的方法。@Jimmy\m您需要用这种方法解决问题吗?为什么不能将svc文件放在根目录下?我建议你不要使用svc文件,如果不是在svc文件中,我应该在哪里定义服务端点和行为?顺便说一句,我对你的说法很感兴趣。我的目标是在api.domain.com上公开api端点,并提供预期的REST URL(即不带扩展名),因此我可能需要进行一些配置更改。我目前正在审阅这篇博文……好的,我已经成功地从本地开发环境中的工作中获得了这种方法。因此,这意味着该服务在http://localhost:2511/servicename上可用。这意味着,一旦出版,也可以在http://www。domain.com/servicename(忽略空格)。现在,下一个挑战是使它只在api上可用。如果可能的话。