Разделы должны только появиться однажды на файл конфигурации! почему?

@allain, @GateKiller Ваш запрос выбирает пользователей не логины
Для выбора логинов, можно использовать этот запрос:

SELECT name FROM master..sysxlogins WHERE sid IS NOT NULL

В таблице MSSQL2005/2008 syslogins используется insted sysxlogins

5
задан Chiramisu 30 April 2014 в 00:37
поделиться

2 ответа

Вы пытаетесь использовать группу разделов как коллекцию, а разделы как элементы в коллекции, для чего они не предназначены, поэтому возникает ошибка.

В основном вам нужно только чтобы определить point.Services как раздел, поскольку он не должен содержать никаких других разделов, затем определите свойство коллекции, которое будет содержать элементы конфигурации. Вы можете обновить код следующим образом:

Config :

<configSections>
    <section name="point.Services" 
        type="xyz.Point.Messaging.PointServiceConfiguration.PointServices, Barcap.FIA.Point.Messaging" />
</configSections>

<point.Services>
    <xServices>
        <xService name="Service1" type="IService" >
            <endpoints>
                <endpoint aliasName="incoming" endpointName="Subscriber"/>
                <endpoint aliasName="outgoing" endpointName="Publisher"/>
            </endpoints>
        </xService>
        <xService name="BlobService" type="IPortfolioService" >
            <endpoints>
                <endpoint aliasName="incoming" endpointName="Subscriber"/>
                <endpoint aliasName="outgoing" endpointName="Publisher"/>
            </endpoints>
        </xService>
    </xServices>
</point.Services>

Тогда код будет :

public class PointServices : ConfigurationSection
{
    public static PointServices Get()
    {
        return (PointServices) ConfigurationManager.GetSection("point.Services");
    }

    [ConfigurationProperty("xServices", IsDefaultCollection = true)]
    [ConfigurationCollection(typeof(PointService), AddItemName = "xService")]
    public PointServicesCollection Services
    {
        get { return (PointServicesCollection) base["xServices"]; }
    }
}

public class PointService : ConfigurationElement
{
    [ConfigurationProperty("name", IsRequired = true)]
    public string Name
    {
        get { return this["name"].ToString(); }
    }

    [ConfigurationProperty("type", IsRequired = true)]
    public string Type
    {
        get { return this["type"].ToString(); }
    }

    [ConfigurationProperty("endpoints", IsRequired = false)]
    [ConfigurationCollection(typeof(EndpointAlias), AddItemName = "endpoint")]
    public EndpointAliasCollection Endpoints
    {
        get { return (EndpointAliasCollection) this["endpoints"]; }
    }
}

Чтобы разбить его на части :

  • PointServices - это раздел конфигурации, который отображается на < point.Services> раздел,
14
ответ дан 18 December 2019 в 14:47
поделиться

Где находится Point.System в файле конфигурации? Он может просто жаловаться, потому что 0! = 1 (для компьютера)

-1
ответ дан 18 December 2019 в 14:47
поделиться
Другие вопросы по тегам:

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