Не удается открыть Windows Explorer (WebDAV) из WebBrowser-Control - PullRequest
0 голосов
/ 08 февраля 2012

Эту проблему легко воспроизвести, используя простой HTML-фрагмент (сохранить как test.html):

<style>
    a { behavior: url(#default#AnchorClick); }
</style>
<a href="https://webdav.mc.gmx.net/" folder="https://webdav.mc.gmx.net/" target="_blank">open</a>

Если вы откроете test.html в InternetExplorer и нажмете на открытую ссылку, появится новый проводник Windows.всплывает с указанной папкой WebDAV.Это именно то, что я ожидаю.

Теперь, если я открою test.html внутри WPF WebBrowser-Control, поведение будет другим.Он открывает новое окно Internet Explorer с ошибкой HTTP 405.

Вот XAML и код для проверки его в WPF WebBrowser:

<Window x:Class="Misc.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <WebBrowser x:Name="_browser" />

using System.IO;

namespace Misc
{
    public partial class MainWindow
    {
        public MainWindow()
        {
            InitializeComponent();
            var folder = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);
            var file = Path.Combine(folder, "test.html");
            _browser.Navigate(file);
        }
    }
}

ПРИМЕЧАНИЕ:

  • В обоих случаях, поскольку это локальный файл, сначала необходимо «Разрешить заблокированное содержимое» (желтая полоса вверху).
  • URL-адрес вэтот образец не является реальным, потому что он доступен только в интрасети.Настоящий URL указывает на папку SharePoint WebDAV.

1 Ответ

0 голосов
/ 09 февраля 2012

решено: один из исправлений в SP1 исправил эту проблему.Не знаю, какой именно, но вот полный список:

...