C# 服务只能在特定时间之间访问

C# 服务只能在特定时间之间访问,c#,web-services,wcf,C#,Web Services,Wcf,我需要创建一个WCF服务,从数据库中获取一些数据。由于某些原因,该服务只能在夜间使用。web.config中的一些代码告诉我这应该是可能的,但我不知道如何实现 对于客户端,您需要调整绑定元素的sendTimeout属性。对于服务,您需要调整绑定元素的receiveTimeout属性 <system.serviceModel> <bindings> <netTcpBinding> <binding name="longTimeout

我需要创建一个WCF服务,从数据库中获取一些数据。由于某些原因,该服务只能在夜间使用。web.config中的一些代码告诉我这应该是可能的,但我不知道如何实现

对于客户端,您需要调整绑定元素的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>


如果这能回答您的问题,请告诉我。

不确定是否有办法在web.config中定义,但您似乎可以使用PowerShell计划和终止服务。

在web.config中不可能。这是一个非常不寻常的要求。当然不是内置的

就这样说吧:

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

老实说,我不确定这是否回答了我的问题,但我认为答案是否定的。我想要的是,我的WCF只能在凌晨3:00-06:00之间访问。这绝对不是问题的解决方案。这些超时用于定义打开、关闭、发送和接收最多可能需要多长时间。看见