![]() |
|
Модераторы: gambit |
![]()
|
|
| cosamia |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 231 Регистрация: 11.5.2005 Репутация: нет Всего: нет |
вобщем нужно сделать класс (с методом создания win окна) который бы можно было использовать в веб
проекте. класс можно сделать либо как: 1) COM объект (что уже сделано и работает) 2) компонент (derived from Component) 3) web service при 2м варианте(наследование от Component), возникает такой вопрос: вот код компонента: using System; using System.Windows.Forms; using System.ComponentModel; namespace MyComplib{ public class Compclass:Component{ public Form dlg; public void mywin(){ dlg=new Form(); dlg.ShowDialog(); } } } вот код на веб странице который создает класс и вызывает нужный метод: Container cont=new Container(); Compclass comp=new Compclass(); cont.Add(comp); comp.mywin(); cont.Dispose(); но при клике вылетает ошибка: It is invalid to show a modal dialog or form when the application is not running in UserInteractive mode. Specify the ServiceNotification or DefaultDesktopOnly style to display a notification from a service application. Что за UserInteractive mode? правильно ли я применил подход или нет? 3й вариант: использование веб сервиса вот код веб сервиса: using System; using System.Windows.Forms; using System.Web.Services; [WebService] class MyCompService{ public Form dlg; [WebMethod] public void mywin(){ dlg=new Form(); dlg.ShowDialog(); } } сервис скомпилировался нормально. для использования его, использовал win client приложение. ошибка вылетает такая: System.Web.Services.Protocols.SoapException: Server was unable to process request --> InvalidOperationException: It is invalid to show a modal dialog or form when the app is not running in UserInteractive mode. Specify the ServuceNotification or DefaultDesktopOnly style to display a notification from a service app. Вобщем снова непонятно что за UserInteractiveMode и в чем же ошибка? Неужели только через ком -компонент можно такое сделать? Наверняка можно эту задачу выполнить и через наследование Component и через web service. |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 5 Всего: 232 |
Догадайтесь с двух раз, где будет (если будет вообще) показана форма - на веб-сервере или у клиента Подходит первый вариант. Делаем Class Library, куда добавляем свой компонент (наследуемся от UserControl). На веб-странице прописываем в теге object наш контрол (не помню точно, как именно, но тема где-то раньше обсуждалась, либо на RSDN можно поискать). -------------------- ![]() |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Разработка под ASP.NET | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |