Como llamar el metodo async task en ajax en jquery utilizando Web forms?

Tengo una aplicacion en web forms y estoy utilizando metodos async en el codebehind que luego llamo con ajax en jquery. Realize una prueba con mvc y me funciona pero, al cambiar a un proyecto web forms no me genera el tokens de acceso al cognitive services de azure y me devuelve la pagina aspx donde esta el metodo que llamo. El codigo del codebehind.

        public async Task<string> Token()     {         return await GetTokenAsync(Region, SubscriptionKey);     }     private async Task<string> GetTokenAsync(string region, string subscriptionKey)     {         if (string.IsNullOrEmpty(region) || string.IsNullOrEmpty(subscriptionKey))         {             throw new ArgumentNullException("Region or subscriptionKey is null!");         }          using (var client = new HttpClient())         {             client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", subscriptionKey);             using (var response = await client.PostAsync($  "https://{region}.api.cognitive.microsoft.com/sts/v1.0/issueToken", null))             {                 return await response.Content.ReadAsStringAsync();             }         }     } 

Con este codigo luego lo llamo en la pagina aspx con ajax y jquery, pero no funciona.Este metodo lo llamo desde un button con onclick. En Url: llamo a la funcion Token que es async y esta en la misma pagina(Codebehind).

<script type='text/javascript'>     function getImmersiveReaderTokenAsync() {         return new Promise((resolve, reject) => {             $  .ajax({                 url: 'AAreader.aspx/Token',                 type: 'GET',                 success: token => {                     resolve(token);                 },                 error: err => {                     console.log('Error in getting token!', err);                     reject(err);                 }             });         });     }      async function handleLaunchImmersiveReader() {         const data = {             title: document.getElementById('title').innerText,             chunks: [{                 content: document.getElementById('content').innerText,                 lang: 'en'             }]         };         var tiltes = document.getElementById('title').innerText;         console.log(tiltes);         const options = {             uiZIndex: 1000000         }          const token = await getImmersiveReaderTokenAsync();         console.log(token);         ImmersiveReader.launchAsync(token, data, options)             .then(() => {                 console.log('success');             }, (error) => {                 console.log('error! ' + error);             });     } </script> 

El error es que me devuelve no un token sino mas bien la pagina aspx en html y en consola el error es: TypeError: e.xhr is undefined