Внедрение облегченного веб-сервера в a.net приложение (узел.js)? [закрытый]
У меня есть проект, построенный с Awesomium, встроенный в .NET, и он требует использования Flash. Flash выдает ошибки безопасности при попытке доступа к локальному контенту (видеоплееру), а решения Awesomium еще не портированы на оболочку .NET. Мне интересно, есть ли довольно прямой способ включить веб-сервер во время выполнения в приложение, где я могу просто выбрать произвольный порт и создать сервер localhost, когда приложение работает, и указать мой браузер Awesomium там.
какие идеи?
7 ответов
NHttp предоставляет HTTP-сервер с разбором запросов, но вы должны свернуть свои собственные ответы. Есть также каяк, и собственный фреймворк элементе httplistener.
Нэнси полная структура MVC, поддерживает ASP.NET синтаксис Razor, и имеет множество опций для конфигурации и расширяемости. Есть пакет self-host доступно на nuget.
Если вам просто нужно обслуживать SWF-файл и некоторые данные JSON, первый набор, вероятно, будет проще интегрировать - если вам нужно отобразить полные веб-страницы, я бы рекомендовал Nancy.
вот еще одна альтернатива, которую я написал в прошлом году, и она хорошо мне послужила.
EmbedIO: https://github.com/unosquare/embedio
Я использую его в основном для создания RESTful сервисов на Raspberry Pi (soft-float). Обновленный код для Mono 3.10, поддержка WebSockets и асинхронная обработка запросов.
пакет NuGet также доступен.
Я предполагаю, что это Windows.. Вам не нужно (или не нужно) использовать веб-сервер. Если вы создаете файл cfg, не имеет значения, как он называется, в этом каталоге:
%appdata%\Macromedia\Flash Player#безопасность\FlashPlayerTrust
и поместите в него одну строку, содержащую путь к папке, которой вы хотите доверять, тогда Flash загрузит локальные ресурсы без проблем с безопасностью. Вы можете удалить файл снова при завершении работы (это то, что мы делаем).
же основные на других платформах, просто расположение этой папки FlashPlayerTrust отличается.
для ASP.Net MVC (и другие) self-hosting вы можете использовать OWIN реализация:
Open Web Interface for .NET (OWIN) определяет абстракцию между веб-серверами .NET и веб-приложениями. OWIN отделяет веб-приложение от сервера, что делает OWIN идеальным для самостоятельного размещения веб-приложения в вашем собственном процессе за пределами IIS.
здесь вы можете найти простой пример с WebAPI.
I выглядит так, как будто вы можете воспроизводить локальный flash-контент, пока контент настроен на доверие.
что такое безопасность Flash Player для локального контента?
локальный контент может быть обозначен как доверенный, чтобы он не прерывался этим диалоговым окном и мог функционировать так, как задумано. Это доверие должно быть четко обозначено одним из двух способов.
запуск программы Установка программы в содержимое устанавливаемого приложения уже зарегистрировано как доверенное. При запуске программы установки вы явно разрешаете установку программы на вашем компьютере. Таким образом, издатель приложения может автоматически зарегистрировать содержимое Flash Player как доверенное.
путем добавления определенного содержимого или каталогов в список надежных файлов через панель параметров глобальной безопасности в Диспетчере параметров Flash Player. В этом панель, вы можете назначить конкретное содержимое или даже каталоги как доверенные вручную регистрируя местоположения с помощью Flash Player. Пошаговые инструкции по назначению доверенного контента см. В разделе TechNote: как разрешить локальному Flash-контенту взаимодействовать с Интернетом?
Если вам нужно немного ASP.NET на стороне сервера используйте Mono.Веб-сервер и Mono.web-сервер.И Xsp.
Здесь:
https://github.com/mono/xsp/tree/master/src
еще, вы можете использовать uhttpsharp:
https://github.com/raistlinthewiz/uhttpsharp
или вы можете использовать "веб-сервер" из codeplex:
http://webserver.codeplex.com/
или более тяжелый вес, Кассини:
https://cassinidev.codeplex.com/
Если вы хотите воспользоваться возможностью HTTP2 эффективно передавать контент, вы также можете использовать GRPC для встраивания сервера HTTP2.
посмотреть: