Почему я не могу зарегистрировать свое приложение P2P в Windows 8.1 - PullRequest
0 голосов
/ 30 октября 2018

Я пытаюсь узнать кое-что о P2P. Вот почему я пытаюсь запустить приведенный ниже пример кода на моем компьютере с ОС Windows 8.1:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net.PeerToPeer;
using System.Net.PeerToPeer.Collaboration;

namespace PeerChat
{
    public class PeerChatApplication
    {
        private static PeerApplication PeerChatPeerApplication;
        private static Guid PeerChatAppId = new Guid("2B6FFB9A-8BCD-4B2E-9958-090E2E6FB5D7");
        private static string PeerChatDescription = "A sample peer networking application.";

        static PeerChatApplication()
        {
            PeerChatPeerApplication = new PeerApplication(PeerChatAppId, 
                                                          PeerChatDescription, 
                                                          null,
                                                          System.Windows.Forms.Application.ExecutablePath, 
                                                          null,
                                                          PeerScope.All);
        }

        public static void SignIn()
        {
            PeerCollaboration.SignIn(PeerScope.All);
        }

        public static void Register()
        {
            PeerApplicationCollection peerAppsColl = PeerCollaboration.GetLocalRegisteredApplications(PeerApplicationRegistrationType.AllUsers);

            IEnumerable<PeerApplication> findPeerApp = from peerApp in PeerCollaboration.GetLocalRegisteredApplications(PeerApplicationRegistrationType.AllUsers)
                                                       where peerApp.Id == PeerChatAppId
                                                       select peerApp;

            if (findPeerApp.Count<PeerApplication>() != 0) 
                PeerCollaboration.UnregisterApplication(PeerChatPeerApplication, PeerApplicationRegistrationType.AllUsers);

            PeerCollaboration.RegisterApplication(PeerChatPeerApplication, PeerApplicationRegistrationType.AllUsers);
        }

        public static void UnRegister()
        {
            PeerCollaboration.UnregisterApplication(PeerChatPeerApplication, PeerApplicationRegistrationType.AllUsers);
        }
    }
}

Прежде всего, все, что вам нужно для входа и регистрации. Хорошо работает в Windows 7 (используя логин администратора).

В Windows 8.1 я получаю следующее исключение: «Инфраструктура Windows Peer-to-Peer не лицензирована для работы на этой платформе».

Означает ли это, что ОС Windows 8.1 не поддерживает P2P?

...