我正在尝试在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
以便服务可以根据当前上下文确定要返回的数据。
是否可以动态配置端点地址?或者是在一个位置托管服务的唯一选择,然后将“上下文”传递给它一些如何?
答案 0 :(得分:0)
不是WCF专家,但是在连接服务时无法指定端点吗?