Конечный ответ в конструкторе - PullRequest
0 голосов
/ 30 октября 2018

Я хочу проверить WCF перед тем, как позвонить Operation.

Мой код как ниже

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

Я ожидал, что он завершит запрос и не вызовет контракт операции (в данном случае getTokenX), но это так. Как заставить перестать звонить по операционному контракту?

мой URL похож на

172.16.3.156:81/_RestAPI/RestService.svc/getTokenX

Ответы [ 2 ]

0 голосов
/ 31 октября 2018

Я бы предложил следующую вещь для решения.

  • Создание пользовательского поведения службы.
  • В этом сервисе проверьте поведение конкретных приложений, как вы.
  • если вы нашли какое-то значение, которое указывает на обслуживание в обслуживании, выведите исключение.
0 голосов
/ 31 октября 2018

Вы также можете использовать файл Global.asax для контроля правильности запроса.

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

Я не рекомендую использовать httpcontext в приложении wcf. В большинстве случаев он устанавливается для домена приложения asp.net, а его значение пусто.
https://docs.microsoft.com/en-us/dotnet/framework/wcf/feature-details/wcf-services-and-aspnet

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...