需要调整Web服务时钟偏差

时间:2013-08-30 22:04:32

标签: asp.net web-services

我有一个遗留的Web服务(asmx)实际上根本没有定义的绑定。它不使用任何安全性,也不需要。在设置唯一的Web服务的WebServiceBinding时,我只需:

[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]

...我确信在引擎盖下使用了basicHttpBinding。我遇到的问题(以及我从研究中发现的许多其他问题)是当有人使用时间超过服务器5分钟的机器时,我们会得到令人讨厌的时钟偏差错误。我已经搜索了高低,并且已经看到了许多解决方案,但没有简单地调整时钟偏差。所有的解决方案似乎都希望你创建一个自定义绑定,这一点很好,直到我到达安全元素。我没有使用任何但仍然需要设置时钟偏差。我发现代码在运行时但仅在客户端上执行。理想情况下,如果我可以做这样的事情,我会很高兴(但似乎我不能 - 因为我缺少authenticationMode):

<bindings>
  <customBinding>
    <binding Name="ClockSkewBinding">
      <security>
        <localClientSettings maxClockSkew="00:30:00" />
        <localServiceSettings maxClockSkew="00:30:00" />
      </security>
    </binding>
  </customBinding>
</bindings>

...然后,当然,将我的服务器绑定更改为:

[WebServiceBinding(Name="ClockSkewBinding")]

...并在客户端上为端点使用相同的绑定。

我已经在http://msdn.microsoft.com/en-us/library/aa738468.aspx阅读了MSDN文章,他花了几个小时的时间在网站上试图寻找类似但无济于事的网站。我对此应用任何类型的安全性都不感兴趣,我完全理解其含义。我只需要在没有安全性的简单basicHttpBinding上更改时钟偏差。

提前致谢!

0 个答案:

没有答案