服务应该只能在特定时间之间访问

时间:2015-11-17 19:12:03

标签: c# web-services wcf

我需要创建一个WCF服务,从数据库中获取一些数据。由于某种原因,这项服务只能在晚上访问。我被告知这应该可以通过web.config中的一些代码实现,但我不知道如何。

3 个答案:

答案 0 :(得分:0)

不确定是否有在web.config中定义的方法,但似乎您可以使用PowerShell来安排和终止服务。 MSDN blog post on scheduling background jobs

答案 1 :(得分:0)

在web.config中无法实现。这是一个非常不寻常的要求。当然不是内置的。

就这样:

if (DateTime.Now.Hour >= 22)
  throw new FaultException("ServiceUnavailable");

答案 2 :(得分:-2)

对于客户端,您需要调整绑定元素的sendTimeout属性。对于服务,您可能希望调整绑定元素的receiveTimeout属性。

<system.serviceModel>
  <bindings>
    <netTcpBinding>
      <binding name="longTimeoutBinding"
        receiveTimeout="00:10:00" sendTimeout="00:10:00">
        <security mode="None"/>
      </binding>
    </netTcpBinding>
  </bindings>

  <services>
    <service name="longTimeoutService"
      behaviorConfiguration="longTimeoutBehavior">
      <endpoint address="net.tcp://localhost/longtimeout/"
        binding="netTcpBinding" bindingConfiguration="longTimeoutBinding" />
    </service>

如果这回答了你的问题,请告诉我。