Подтвердить что ты не робот

Внедрение легкого веб-сервера в приложение .net(node.js)?

У меня есть проект, построенный с Awesomium, встроенный в .NET, и для этого требуется использование Flash. Flash выдает ошибки безопасности, пытаясь получить доступ к локальному контенту (видеоплееру) и к решениям (-ам). Предложения Awesomium еще не были перенесены в оболочку .NET. Мне интересно, есть ли достаточно простой способ включить в приложение веб-сервер времени выполнения в приложении, где я могу просто выбрать какой-то произвольный порт и создать локальный сервер при запуске приложения и указать мой браузер Awesomium.

Любые идеи?

4b9b3361

Ответ 1

NHttp предоставляет HTTP-сервер с синтаксическим разбором запросов, но вы должны сворачивать свои собственные ответы. Там также Kayak, а рамки - HttpListener.

Nancy - полная структура MVC, поддерживает синтаксис Razor ASP.NET и имеет множество возможностей для настройки и расширяемости. Там пакет для самостоятельного размещения доступен на nuget.

Если вам просто нужно обслуживать SWF файл и некоторые данные JSON, первый набор, вероятно, будет проще интегрировать - если вам нужно отображать полные веб-страницы, я бы рекомендовал Нэнси.

Ответ 2

Вот еще одна альтернатива, которую я написал в прошлом году и хорошо служил мне.

EmbedIO: https://github.com/unosquare/embedio

Я использую его в основном для создания сервисов RESTful на малиновой Pi (soft-float). Обновлен код для Mono 3.10, поддержка WebSockets и асинхронная обработка запросов.

Также доступен пакет NuGet.

Ответ 3

Я предполагаю, что это Windows.. Вам не нужно (или не нужно) использовать веб-сервер. Если вы создаете файл cfg, не имеет значения, что он назвал, в этом каталоге:

% appdata%\Macromedia\Flash Player # Безопасность \FlashPlayerTrust

И поместите в него одну строку, содержащую путь к папке, которой вы хотите доверять, тогда Flash загрузит локальные ресурсы без проблем безопасности. Вы можете удалить файл снова при завершении работы (это то, что мы делаем).

Тот же главный на других платформах, только расположение этой папки FlashPlayerTrust отличается.

Ответ 4

Для ASP.Net MVC (и других) самостоятельного хостинга Вы можете использовать OWIN:

Открытый веб-интерфейс для .NET(OWIN) определяет абстракцию между веб-серверами .NET и веб-приложениями. OWIN отделяет веб-приложение от сервера, что делает OWIN идеальным для самостоятельного размещения веб-приложения в вашем собственном процессе, за пределами IIS.

Здесь вы можете найти простой пример с WebAPI.

Ответ 5

Мне кажется, что вы можете воспроизводить локальный флеш-контент, пока контент настроен на доверие.

Что такое защита Flash Player для локального контента?

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

  • Запустив программу установки программного обеспечения, в которой содержимое приложения, которое вы устанавливаете, уже зарегистрировано как доверенное. Когда вы запускаете программу установки, вы явно разрешаете установку программы на свой компьютер. Таким образом, издатель приложения может автоматически зарегистрировать контент с помощью Flash Player как надежный.

  • Добавив конкретный контент или каталоги в список доверенных файлов, на панели глобальных параметров безопасности в Диспетчере настроек проигрывателя Flash Player. На этой панели вы можете назначить конкретный контент или даже каталоги, доверенные вручную путем регистрации мест с помощью Flash Player. Пошаговые инструкции о том, как назначить контент как доверенный, см. В статье TechNote: Как разрешить локальному Flash-контенту общаться с Интернетом?

Ответ 6

Если вам нужна небольшая ASP.NET на стороне сервера, используйте Mono.WebServer и Mono.WebServer.XSP.

Здесь:
https://github.com/mono/xsp/tree/master/src

Иначе вы можете использовать uhttpsharp:
https://github.com/raistlinthewiz/uhttpsharp

Или вы можете использовать "веб-сервер" из codeplex:
http://webserver.codeplex.com/

Или больше тяжеловеса, Кассини:
https://cassinidev.codeplex.com/