5

私はSharePoint2010(たとえば、_http:// sp2010 /)を持っています。サイト(_http:// sp2010 / site /)と、ISAPIフォルダーでホストされているWCFサービスを作成しました。稼働中、私はそのようなテスト方法を持っています:

[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は正しくありません。

私は何が間違っているのですか?どうすれば正しいコンテキストを取得できますか?

4

1 に答える 1

1

本当に電話をかけていることを再確認できますhttp://sp2010/site/_vti_bin/WcfService.svc/mexか?Visual Studioの[サービス参照の追加]ダイアログを使用する場合、通常はのようにルートを使用しhttp://sp2010/_vti_bin/WcfService.svc/mexます。

コードで設定している場合は、実際に機能するはずですが、少なくとも私にとっては機能します:(

SPContext.Current.Web.Urlとは何Web.IDですか?それは/site/ Webと一致しますか?

于 2011-07-22T16:00:41.360 に答える