Wcf服务中的SPContext错误

时间:2011-07-22 15:19:54

标签: wcf sharepoint-2010 spcontext

我有SharePoint 2010(例如_http:// sp2010 /)。我创建了站点(_http:// sp2010 / site /)和WCF服务,它位于ISAPI文件夹中。在服务中我有这样的测试方法:

[OperationContract]
public string GetCurrentWebUrl()
{
    return SPContext.Current.Site.Url + " | " + SPContext.Current.Web.Url;
}

我使用此地址从我的控制台应用程序调用服务 - _http://sp2010/site/_vti_bin/WcfService.svc/mex。当调用方法GetCurrentWebUrl时,我希望得到_http:// sp2010 / site /,但我总是得到_http:// sp2010 /。换句话说,SPContext不正确。

我做错了什么?我怎样才能获得正确的背景?

1 个答案:

答案 0 :(得分:1)

你能仔细检查一下你是否真的在呼叫http://sp2010/site/_vti_bin/WcfService.svc/mex吗?使用Visual Studio“添加服务引用”对话框时,它通常使用根,如http://sp2010/_vti_bin/WcfService.svc/mex

如果你在代码中设置它应该确实有效,至少它对我有用:(

什么是SPContext.Current.Web.UrlWeb.ID?这与/ site / Web匹配吗?