ASP.NET URL MAX_PATH предел

Чтобы связать атрибут Polyline Points с вашей моделью просмотра успешно (т. е. обновить его при изменении связанного PointCollection), вам следует избегать изменения PointCollection как коллекции (Clear, Add и т. д.). Polyline не заметит, что даже привязка к ObservableCollection of Points с пользовательским конвертером не поможет.

Вместо этого вы должны рассмотреть свой PointCollection как свойство: установите его с помощью вновь созданного PointCollection и выполните пожар событие NotifyPropertyChanged:

    private PointCollection points = new PointCollection();
    public PointCollection Points 
    {
        get { return points; }
        set
        {
            points = value;
            NotifyPropertyChanged("Points");
        }
    }

    public void SomeUpdateFunc() 
    {
        PointCollection pc = new PointCollection();

        // Do some adding: pc.Add(new Point(x, y)); etc

        this.Points = pc; // set via the setter, so the notification will fire
    }

Теперь полилиния должна быть обновлена ​​должным образом, удачи!

10
задан skaffman 28 March 2010 в 09:13
поделиться

5 ответов

Это - известная проблема с aspnet_isapi.dll и в настоящее время нет никакого обходного решения. Причина Вы не видите эту проблему при выполнении сайта во встроенном веб-сервере Visual Studio (иначе Cassini) состоит в том, потому что это - весь управляемый код и не полагается на aspnet_isapi.dll.

Это будет обращено в будущей версии ASP.NET.

8
ответ дан 3 December 2019 в 16:31
поделиться

Проблема на самом деле заключается в рамках Windows, не ASP.NET. Windows установил MAX_PATH в 260 и когда IIS возьмет запрос на более длительное имя файла, это перестанет работать. Вы, вероятно, нашли уже, эта статья KBase, но для кого-либо еще: http://support.microsoft.com/kb/q177665/. Применение К: Раздел показывает, что это - ожидаемое поведение от NT 3.51 полностью к Vista и Серверу 2003.

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

3
ответ дан 3 December 2019 в 16:31
поделиться

Спасибо за Ваш ответ. В то время как я не нашел, что точная статья, нашел подобным. Однако это не ограничение в IIS. Можно передать более длинный путь в запросе к IIS, и он возвратит корректный ответ. Можно проверить путем попытки простой страницей HTML. Проблема только происходит, чтобы использование aspnet_isapi.dll обработало запросы. Даже интегрированный сервер отладки в рамках Visual Studio может обработать более длинные пути, чем 260.

2
ответ дан 3 December 2019 в 16:31
поделиться

Вы могли использовать переписывающий URL ISAPI, такой как IIRF для перезаписи URL во что-то, что aspnet_isapi может обработать.

0
ответ дан 3 December 2019 в 16:31
поделиться

@Haacked:

Фил, вы упомянули, что это проблема с aspnet_isapi.dll. Разве это не означает, что эта проблема не должна существовать в режиме интегрированного конвейера IIS7?

Однако из того, что я слышал, ( http://forums.iis.net/t/1105360.aspx ]) это все еще происходит.

Я столкнулся с той же проблемой, и я чувствую себя как бы в затруднительном положении. Похоже, что это влияет на маршрутизацию ASP.NET. Таким образом, любое приложение ASP.NET MVC должно иметь URL-адреса короче 260, после чего оно должно вернуться к запросам, что кажется полным 180!

(Извините за комментарии к ответам ... недостаточно репутации для комментариев. :()

2
ответ дан 3 December 2019 в 16:31
поделиться
Другие вопросы по тегам:

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