SharePoint 2010 SecurityTokenService错误

问题描述 投票:1回答:2

我们在测试环境中使用SharePoint 2010,使用自定义STS(联合,并且所有站点都是基于声明的)。当我们尝试登录该站点时,我们被重定向到sts登录页面,我们输入凭据,我们被定向到siteurl / _trust并且它会在这里停留很长时间并且超时。在Windows应用程序错误中,这是我们看到的:异常类型:TimeoutException异常消息:对'http:// localhost:32843 / SecurityTokenServiceApplication / securitytoken.svc'的HTTP请求已超过分配的超时00:00:59.9840000。分配给此操作的时间可能是较长超时的一部分。

另一个错误是:

尝试发出安全令牌时发生异常:请求通道在00:00:59.9843751之后等待回复时超时。增加传递给Request的调用的超时值或增加Binding上的SendTimeout值。分配给此操作的时间可能是较长超时的一部分。

有任何想法吗?

sharepoint-2010 claims-based-identity
2个回答
0
投票

SecurityTokenService是一个WCF服务,您可以像为任何其他WCF服务一样设置服务的超时。

谈到SharePoint 2010.我发现14个hive文件夹中有两个文件夹:WebClients和WebServices。这些文件夹包含SecurityToken子文件夹。

要更改超时,您需要将receiveTimeout和sendTimeout属性添加到绑定元素中,以具有以下内容:

<binding name="spStsBinding" receiveTimeout="00:30:00" sendTimeout="00:30:00">
...
</binding>

我已经为14 \ WebClients \ SecurityToken \ client.config和14 \ WebServices \ SecurityToken \ web.config文件中的所有绑定完成了它。上面的设置将超时设置为30分钟。

要编辑服务配置文件,我使用了以下屏幕截图中显示的VS 2008中的工具:

我希望它有所帮助。


0
投票

当您的应用程序使用SecurityTokenService时,Antipod建议的解决方案可以正常工作。但是,它在请求时不起作用,例如来自搜索应用程序例如,核心结果搜索Web部件调用搜索安全令牌服务的搜索服务应用程序。

在这种情况下,将调用SPSecurityContext.SecurityTokenForContext方法并请求SecurityTokenService。在这种情况下,不应用绑定超时,因为SecurityTokenService WCF绑定按以下方式初始化:

s_CachedActAsStsBinding = new CustomBinding(bindingElementsInTopDownChannelStackOrder);

其中bindingElementsInTopDownChannelStackOrder取自14 \ WebClients文件夹中的配置,但未应用超时参数。

您可以尝试这里建议的解决方案:http://www.eventid.net/display.asp?eventid=8306&eventno=10757&source=Microsoft-SharePoint%20Products-SharePoint%20Foundatio&phase=1但不幸的是它们对我不起作用。

© www.soinside.com 2019 - 2024. All rights reserved.