代码之家  ›  专栏  ›  技术社区  ›  Imad

构造函数中的结束响应

  •  0
  • Imad  · 技术社区  · 7 年前

    WCF 打电话之前 Operation .

    我的代码如下

    public RESTService()
    {
        if (ConfigurationManager.AppSettings("BlockLogin") == "1")
        {
            HttpContext.Current.Response.Write("{""Status"" : ""Service under maintainance""}");
            HttpContext.Current.Response.End()
        }
    }
    

    我原以为它会结束请求,并且不会调用operation contract(在本例中是getTokenX),但是它确实做到了。如何使其停止调用操作合同?

    172.16.3.156:81/_RestAPI/RestService.svc/getTokenX
    
    2 回复  |  直到 7 年前
        1
  •  1
  •   Abraham Qian    7 年前

    你也可以使用全局.asax文件来控制请求的有效性。

        protected void Application_BeginRequest(object sender, EventArgs e)
        {
              if (Flag==true)
            {
                Response.End()
            }
        }
    

    我不建议在wcf应用程序中使用httpcontext。在大多数情况下,它是为asp.net应用程序域,其值为空。
    https://docs.microsoft.com/en-us/dotnet/framework/wcf/feature-details/wcf-services-and-aspnet

        2
  •  0
  •   dotnetstep    7 年前

    我建议下面的事情来解决这个问题。

    • 创建自定义服务行为。
    • 如果您在维护中找到一些指示服务的值,那么抛出异常。