对 web 方法的简单调用:
[WebMethod]
public List<string> GetSomethingBySomethingElse(string somethingElse) {
var results = (from w in Something
where w.SomethingElse == somethingElse
orderby w.SomethingElse
select w.SomethingElse).Distinct();
return results.ToList();
}
其他人在:http ://sitecoreblog.alexshyba.com/2009/03/attach-wcf-services-to-sitecore-context.html 有同样的问题,但没有说他们是如何解决的。
堆栈跟踪:
[ArgumentOutOfRangeException: Length cannot be less than zero.
Parameter name: length]
System.String.InternalSubStringWithChecks(Int32 startIndex, Int32 length, Boolean fAlwaysCopy) +9385067
Sitecore.Web.RequestUrl.get_ItemPath() +146
Sitecore.Pipelines.HttpRequest.SiteResolver.GetItemPath(HttpRequestArgs args, SiteContext context) +32
Sitecore.Pipelines.HttpRequest.SiteResolver.UpdatePaths(HttpRequestArgs args, SiteContext site) +69
Sitecore.Pipelines.HttpRequest.SiteResolver.Process(HttpRequestArgs args) +49
(Object , Object[] ) +64
Sitecore.Pipelines.PipelineMethod.Invoke(Object[] parameters) +36
Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args) +140
Sitecore.Pipelines.CorePipeline.Run(String pipelineName, PipelineArgs args, String pipelineDomain, Boolean failIfNotExists) +158
Sitecore.Pipelines.CorePipeline.Run(String pipelineName, PipelineArgs args, String pipelineDomain) +64
Sitecore.Pipelines.CorePipeline.Run(String pipelineName, PipelineArgs args) +50
Sitecore.Nexus.Web.HttpModule.(Object sender, EventArgs e) +326
System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +148
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75