Mam SharePoint 2010 (na przykład: _http: // sp2010 /). Utworzyłem witrynę (_http: // sp2010/site /) i usługę WCF, która jest hostowana w folderze ISAPI. W służbie mam takiej metody badawczej:Wrong SPContext w usłudze Wcf
[OperationContract]
public string GetCurrentWebUrl()
{
return SPContext.Current.Site.Url + " | " + SPContext.Current.Web.Url;
}
nazywam usługi z mojej aplikacji konsoli przy użyciu tego adresu - _HTTP: //sp2010/site/_vti_bin/WcfService.svc/mex. Podczas wywoływania metody GetCurrentWebUrl oczekuję uzyskać _http: // sp2010/site /, ale zawsze otrzymuję _http: // sp2010 /. Innymi słowy, SPContext nie jest poprawny.
Co robię źle? Jak mogę uzyskać odpowiedni kontekst?
To punkt , 'SPContext.Current.Web.Url = http: // sp2010 /'. Mam inną witrynę: 'http: // sp2010/site2 /'. Próbowałem z tą, ale znowu 'SPContext.Current.Web.Url = http: // sp2010/' – Grant
@Grant i jesteś w 100% pewny, że trafiasz _vti_bin we właściwej podstronie, a nie w katalogu głównym? Użyj skrzypka, aby sprawdzić, czy rzeczywiście trafiłeś w adres URL, który chcesz uderzyć: http://www.fiddler2.com/fiddler2/ –
I Jestem prawie pewien, ale sprawdzę to z skrzypkiem. Dzięki za radę! – Grant