Существует ли способ обнародовать Файлы ресурсов Со строгим контролем типов (в противоположность внутреннему)?

Вы можете написать сценарий tmsh, который будет использоваться локально на BIG-IP для запроса этой информации, или вы можете использовать интерфейс iControl REST для запроса этой информации. Вы можете получить более одного запроса для получения точной информации, поскольку профили и политики скрыты в подколлекциях родительского объекта виртуального сервера. Однако в одном запросе вы можете получить имя, место назначения (IP + порт виртуального сервера) и элементы коллекции профилей, например, с помощью curl или с помощью инструмента Postman:

https://ltm3.test.local/mgmt/tm/ltm/virtual?$select=name,destination,profilesReference&expandSubcollections=true

Это возвращает все виртуальные серверы только с именем, портом ip + и информацией профиля в следующем формате json (для краткости только виртуальный сервер показывает политику на нем):

{
    "kind": "tm:ltm:virtual:virtualcollectionstate",
    "selfLink": "https://localhost/mgmt/tm/ltm/virtual?$select=name%2Cdestination%2CprofilesReference&expandSubcollections=true&ver=14.0.0",
    "items": [
        {
            "name": "bigvip_443",
            "destination": "/Common/192.168.102.60:443",
            "profilesReference": {
                "link": "https://localhost/mgmt/tm/ltm/virtual/~Common~bigvip_443/profiles?ver=14.0.0",
                "isSubcollection": true,
                "items": [
                    {
                        "kind": "tm:ltm:virtual:profiles:profilesstate",
                        "name": "ASM_asm_test_policy",
                        "partition": "Common",
                        "fullPath": "/Common/ASM_asm_test_policy",
                        "generation": 569,
                        "selfLink": "https://localhost/mgmt/tm/ltm/virtual/~Common~bigvip_443/profiles/~Common~ASM_asm_test_policy?ver=14.0.0",
                        "context": "all",
                        "nameReference": {
                            "link": "https://localhost/mgmt/tm/security/bot-defense/asm-profile/~Common~ASM_asm_test_policy?ver=14.0.0"
                        }
                    },
                    {
                        "kind": "tm:ltm:virtual:profiles:profilesstate",
                        "name": "clientssl",
                        "partition": "Common",
                        "fullPath": "/Common/clientssl",
                        "generation": 553,
                        "selfLink": "https://localhost/mgmt/tm/ltm/virtual/~Common~bigvip_443/profiles/~Common~clientssl?ver=14.0.0",
                        "context": "clientside",
                        "nameReference": {
                            "link": "https://localhost/mgmt/tm/ltm/profile/client-ssl/~Common~clientssl?ver=14.0.0"
                        }
                    },
                    {
                        "kind": "tm:ltm:virtual:profiles:profilesstate",
                        "name": "http",
                        "partition": "Common",
                        "fullPath": "/Common/http",
                        "generation": 553,
                        "selfLink": "https://localhost/mgmt/tm/ltm/virtual/~Common~bigvip_443/profiles/~Common~http?ver=14.0.0",
                        "context": "all",
                        "nameReference": {
                            "link": "https://localhost/mgmt/tm/ltm/profile/http/~Common~http?ver=14.0.0"
                        }
                    },
                    {
                        "kind": "tm:ltm:virtual:profiles:profilesstate",
                        "name": "tcp",
                        "partition": "Common",
                        "fullPath": "/Common/tcp",
                        "generation": 553,
                        "selfLink": "https://localhost/mgmt/tm/ltm/virtual/~Common~bigvip_443/profiles/~Common~tcp?ver=14.0.0",
                        "context": "all",
                        "nameReference": {
                            "link": "https://localhost/mgmt/tm/ltm/profile/tcp/~Common~tcp?ver=14.0.0"
                        }
                    },
                    {
                        "kind": "tm:ltm:virtual:profiles:profilesstate",
                        "name": "websecurity",
                        "partition": "Common",
                        "fullPath": "/Common/websecurity",
                        "generation": 568,
                        "selfLink": "https://localhost/mgmt/tm/ltm/virtual/~Common~bigvip_443/profiles/~Common~websecurity?ver=14.0.0",
                        "context": "all",
                        "nameReference": {
                            "link": "https://localhost/mgmt/tm/ltm/profile/web-security/~Common~websecurity?ver=14.0.0"
                        }
                    }
                ]
            }
        },

Это намного чище, если вы пишете сценарий на выбранном вами языке, который возвращает только те данные, которые вы хотите получить с ваших виртуальных серверов, и это можно сделать с удаленной машины, несмотря на то, сколько у вас устройств с большим ip.

22
задан Peter Bernier 26 September 2008 в 17:51
поделиться

3 ответа

Не уверенный, какую версию Visual Studio Вы используете, таким образом, я помещу шаги для любого:

VS 2008 - при открытии resx файла в режиме конструктора существует опция наверху около, Добавляет Ресурс и Удаляет Ресурс, названный Модификатором Доступа, это - выпадающее, где можно изменить сгенерированный код от внутреннего до общественности.

VS 2005 - у Вас нет опции генерировать код как в VS 2008. Это была опция, которая была добавлена из-за этой головной боли. Существует around's работы все же. Вы могли использовать сторонний генератор как этот инструмент , или Вы могли использовать атрибут InternalsVisibleTo в Вашем AssemblyInfo.cs для добавления проектов, которые будут иметь доступ к внутренним классам библиотеки ресурсов.

38
ответ дан 29 November 2019 в 04:47
поделиться

2008 Visual Studio позволяет Вам выбирать, должен ли сгенерированный класс ресурса быть внутренним или общедоступным. Существует также ResXFileCodeGeneratorEx, который должен сделать это для Visual Studio 2005.

2
ответ дан 29 November 2019 в 04:47
поделиться

От разработчика набора данных и с видимым окном свойств, существует свойство "Modifier". Для Ваших наборов данных это, вероятно, говорит внутренний.

я не знаю, существует ли установка для установки по умолчанию всех новых наборов данных общественности.

0
ответ дан 29 November 2019 в 04:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: