SharePoint中的动态WCF基址

时间:2010-04-19 09:57:53

标签: wcf sharepoint

我正在尝试在SharePoint中托管WCF服务。我已将服务配置为与ASP.NET兼容,以允许我访问HttpContext和会话信息

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
public class MISDataService : IMISDataService { ... }

我的配置看起来像这样

<system.serviceModel>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
    <services>
        <service name="MISDataService">
            <endpoint address="" binding="webHttpBinding" contract="MISDataViews.IMISDataService" />
        </service>
    </services>        
</system.serviceModel>

虽然这使我可以访问当前的HTTP上下文,但是服务始终在根域下托管,即http://www.mydomain.com/_layouts/MISDataService.svc

在SharePoint中,正在访问的URL通过SPContext类为您提供有关当前站点的特定上下文信息。因此,对于托管在虚拟目录中的服务,我希望它可以在多个地址上使用,例如

http://www.mydomain.com/_layouts/MISDataService.svc
http://www.mydomain.com/sites/site1/_layouts/MISDataService.svc
http://www.mydomain.com/sites/site2/_layouts/MISDataService.svc

以便服务可以根据当前上下文确定要返回的数据。

是否可以动态配置端点地址?或者是在一个位置托管服务的唯一选择,然后将“上下文”传递给它一些如何?

1 个答案:

答案 0 :(得分:0)

不是WCF专家,但是在连接服务时无法指定端点吗?