0

我已将 Web 引用 (WSDL) 添加到类库中,然后在计时器触发的 c# Azure 函数中引用了该 dll (阅读有关 azure 函数的更多信息)。类库有一个 EmployeeService 类,它从 Web 服务(一种 Web 服务包装器)调用方法。当我从控制台应用程序调用类库方法(GetEmployees)时,它对 Web 服务进行身份验证并返回结果,但是当我为相同的代码和凭据运行 azure 函数时,它返回 401。不知道我在这里做错了什么:

#r "MyConsult.Service.dll"
#r "Newtonsoft.Json.dll"

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Timers;
using Newtonsoft.Json;
using System.Net;
using MyConsult.Service.Service;

public static void Run(TimerInfo myTimer, TraceWriter log)
{
    log.Info($"C# Timer trigger function executed at: {DateTime.Now}");   

    try
    {
         EmployeeService _empService = new EmployeeService();                  
         var emps = _empService.GetEmployees();

         int count = emps.Where(x => !string.IsNullOrEmpty(x.Email)).Select(x => x.Email).Distinct().Count();
         log.Info($"employee count : {count}");       
     }
     catch (Exception ex)
     {
         log.Info($"Exception Message: {ex.Message}");
         log.Info($"Exception Stack Trace: { ex.StackTrace}");
     }
}
4

1 回答 1

0

您的控制台应用程序可能会根据 app.config 中的服务配置设置进行身份验证。对于您的功能,您需要在构建客户端/代理时以编程方式应用这些设置。

于 2016-05-12T14:40:27.130 回答