aspNetCompatibility WCF и WinForm - PullRequest
       5

aspNetCompatibility WCF и WinForm

2 голосов
/ 07 февраля 2010

Я хотел бы использовать Windows Forms со службой WCF и использовать предварительно встроенную проверку подлинности asp.net, используя aspNetCompatibilityEnabled = true в службе WCF.

Существуют ли какие-либо модули или готовые сборки, которые могут добавить функциональность ASP.NET в приложение Windows Forms? Насколько я понимаю, эта функциональность не встроена в Windows Forms и не может быть использована.

Ответы [ 4 ]

2 голосов
/ 08 февраля 2010

Я не знаю ничего доступного из коробки для этого сценария.

Вся система членства и роли ASP.NET основана на известной базе данных SQL Server под названием «aspnetdb», которая содержит несколько таблиц и хранимых процедур для наиболее часто используемых функций - так что на самом деле ничто не мешает вам строить на основе Winforms интерфейс к этой базе данных.

Я не знаю, есть ли какая-либо официальная документация по таблицам и процедурам членства в ASP.NET - но, насколько я помню, все они довольно просты для реинжиниринга и использования - так что продолжайте и создайте свою систему !

Если вы используете Google или Bing, вы даже можете найти немало статей и сообщений в блоге от людей, которые сделали это сами:

1 голос
/ 08 февраля 2010

Хотя, безусловно, возможно разместить среду выполнения asp.net в настольном приложении, это потребует небольшого количества сантехники, которую вам потребуется выполнить вручную. Если вы хотите использовать поставщика членства, вам также придется обрабатывать сертификаты.

Я бы порекомендовал вам либо:

  1. разместить его в IIS или WAS, в зависимости от вашей системы
  2. разместить его в Cassini, который вы можете запускать / останавливать вручную из командной строки или программно
  3. разместите его в приложении Windows Forms, создав экземпляр ServiceHost и открыв его вручную.
0 голосов
/ 09 февраля 2010

Если вы настаиваете на размещении среды выполнения http в приложении Windows Form, самый простой способ - получить исходный код cassini для .net 3.5 . Действительно прост в использовании. Это приложение Winforms уже. Cassini - это сервер разработки для Visual Studio.

Я лично проверил это на веб-сайте с настроенным членством и работает отлично. Если вам нужно обрабатывать запросы, отличные от localhost, вам нужно изменить IPAddress.Loopback на IPAddress.Any в Server.cs, как указано в комментариях.

0 голосов
/ 08 февраля 2010

Это все возможно, так как я работал над решением по описанному вами сценарию.Все зависит от конфигурации.Я рекомендую следовать этому Контрольному списку CodePlex для этого сценария.Он содержит пошаговое руководство по настройке вашего приложения.Он показывает, как настроить хранилище пользователя (базу данных), аутентификацию клиента, настроить IIS, безопасность и т. Д.

...