.Net Core веб-api должен использовать веб-службу из файла конфигурации

В моем приложении .Net Core я использую веб-службу, используя Добавить -> Подключенные службы -> Предварительный просмотр службы WCF (пакет nuget), и добавил веб-службу и использовал методы службы.

Однако теперь клиенты переместили веб-службу на внутренние веб-серверы, и у меня нет доступа к службе из моей среды разработки. Поэтому я не могу получить доступ к методам обслуживания, создать свое решение и опубликовать его.

Есть ли способ передать URL-адрес службы из файла конфигурации?
Пример:
Для среды разработки - http://dev.svc
Для Prod Environment - http://prod.svc


person Nikhilesh Shinde    schedule 27.04.2017    source источник
comment
Is there any way that I can give the Web Service URL from Configuration file as I do not have access to the service from my development environment. Что ты спрашиваешь?   -  person ColinM    schedule 27.04.2017
comment
Есть ли способ передать URL-адрес службы из файла конфигурации? Пример: для среды разработки - dev.svc для среды Prod - prod.svc   -  person Nikhilesh Shinde    schedule 27.04.2017
comment
Вы можете использовать преобразования конфигурации для разных значений в разных средах msdn .microsoft.com / en-us / library / dd465326 (v = vs.110) .aspx.   -  person ColinM    schedule 27.04.2017
comment
Спасибо за ответ @ColinM Я использую .Net Core и думаю, в нем все будет по-другому   -  person Nikhilesh Shinde    schedule 27.04.2017
comment
Нужно ли мне что-то менять в Reference.cs?   -  person Nikhilesh Shinde    schedule 27.04.2017
comment
В .NET Core у вас должен быть файл AppSettings.json и несколько преобразований для AppSettings.Production.json   -  person ColinM    schedule 27.04.2017
comment
Вот ссылка, описывающая версию NET Core blog.elmah.io/config-transformations-in -aspnetcore   -  person ColinM    schedule 27.04.2017


Ответы (1)


Да, ты можешь. Я предлагаю вам прочитать всю статью о конфигурации в ASP.NET Core, так как есть много вещей, которые могут вам пригодиться. В общем, вы можете получить файлы конфигурации для каждой из сред с помощью следующего кода:

public class Startup
{
    public Startup(IHostingEnvironment env)
    {
        var builder = new ConfigurationBuilder()
            .SetBasePath(env.ContentRootPath)
            .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)

            // note that here we do override the values by specific file for an emvironment
            .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true)

            // and this line will get the environment variables from server machine
            .AddEnvironmentVariables();
        Configuration = builder.Build();
    }
}

JSON файлы могут быть примерно такими:

appsettings.json

{
  "serviceUrl": "",
}

appsettings.Development.json

{
  "serviceUrl": "http://dev.svc",
}

appsettings.Production.json

{
  "serviceUrl": "http://prod.svc",
}

Также вам может быть полезна статья Работа с несколькими средами.

person VMAtm    schedule 27.04.2017