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

时间:2012-12-02 19:36:47

标签: 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.com/ [servicefilename] .SVC

一个约束:我无法对IIS配置进行更改,因为我正在使用Elasticbeanstalk部署到EC2。

感谢您对此提供任何帮助......

1 个答案:

答案 0 :(得分:0)

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

在web.config

中加入类似的内容
<serviceHostingEnvironment multipleSiteBindingsEnabled="true">
    <serviceActivations>
        <add relativeAddress="Service.svc" service="MyService" />
    </serviceActivations>
</serviceHostingEnvironment>

对api.mydomain.com/service.svc的任何请求都会将您的服务实现称为“MyService”

This blog post还有一些示例,包括使用服务主机工厂和无扩展名网址