|
Передача данных между Проектами
|
|||
---|---|---|---|
#18+
Доброго времени суток. Подскажи как передать данные между проектами ? Много написано как передавать данные между формами, а вот между проектами не найду информацию. У меня в одном решении два проекта. Из проект1 вызывается проект2. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2014, 22:31 |
|
Передача данных между Проектами
|
|||
---|---|---|---|
#18+
Tanya_0306, какого вида данные нужно передавать? Критична ли скорость передачи? Можно использовать много разных способов. Например, пайпы - pipes, сокеты - sockets, очередь сообщений - msmq и другое. Чтобы было легко переключаться с одного способа на другой, следует использовать WCF. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2014, 22:40 |
|
Передача данных между Проектами
|
|||
---|---|---|---|
#18+
petalvikкакого вида данные нужно передавать? Критична ли скорость передачи? Можно использовать много разных способов. Например, пайпы - pipes, сокеты - sockets, очередь сообщений - msmq и другое. Чтобы было легко переключаться с одного способа на другой, следует использовать WCF. Думается мне, здесь совсем другое, если как пример приводится "передача" данных между формами. Tanya_0306, если передача однонаправленная - достаточно референса на один проект в другом, и дальше - по аналогии с формами. Если двунаправленная - выносить контракты методов сборок в интерфейсы, интерфейсы поместить в отдельную сборку, референсить её к каждому проекту. И, соответственно, работать не с конкретными реализациями, а с интерфейсами. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2014, 05:57 |
|
Передача данных между Проектами
|
|||
---|---|---|---|
#18+
Tanya_0306, Я дополню - исполняемый файл (.exe) ничем не отличается от файла "библиотек" (.dll) кроме возможности запускаться самостоятельно, первым, сразу из операционной системы. В остальном все классы, которые в нем обьявлены можно использовать для строительства обьектов в любом другом проэкте. Ограничение будет только в том, что доступны для вызова будут только классы и методы, помеченные как public. Если вы передаете данные между формами - то так же можно поступать и с любыми другими обьектами. Форма это тоже обычный класс. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2014, 11:47 |
|
Передача данных между Проектами
|
|||
---|---|---|---|
#18+
Спасибо всем за информацию! ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2014, 18:02 |
|
Передача данных между Проектами
|
|||
---|---|---|---|
#18+
D129Tanya_0306, Я дополню - исполняемый файл (.exe) ничем не отличается от файла "библиотек" (.dll) кроме возможности запускаться самостоятельно, первым, сразу из операционной системы. В остальном все классы, которые в нем обьявлены можно использовать для строительства обьектов в любом другом проэкте. Ограничение будет только в том, что доступны для вызова будут только классы и методы, помеченные как public. Если вы передаете данные между формами - то так же можно поступать и с любыми другими обьектами. Форма это тоже обычный класс.Примером кода подтвердить сможете? Передав данные из App1.Form1 в App2.Form2 ? При условии, что вызов в App1.Form1 должен не инстанциировать объект App2.Form2, а запустить отдельный процесс App2 и передать в него данные? Правда интересно - это не стёб... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2014, 07:51 |
|
Передача данных между Проектами
|
|||
---|---|---|---|
#18+
Alex Kuznetsovа запустить отдельный процесс App2 и передать в него данные? А вас в свою очередь не затруднит объяснить, заченм нужно такое извращение - запускать форму из сборки основного процесса в отдельном процессе? Чтобы жизнь мёдом не казалась? Инструменты для межпроцессного взаимодействие были перечислены выше - но зачем это нужно в данном случае? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2014, 09:36 |
|
Передача данных между Проектами
|
|||
---|---|---|---|
#18+
Сон Веры ПавловныAlex Kuznetsovа запустить отдельный процесс App2 и передать в него данные? А вас в свою очередь не затруднит объяснить, заченм нужно такое извращение - запускать форму из сборки основного процесса в отдельном процессе? Чтобы жизнь мёдом не казалась? Инструменты для межпроцессного взаимодействие были перечислены выше - но зачем это нужно в данном случае?Похоже, коллега, вы чавой-то не так поняли... Я такого не говорил, да и ТС тоже. У неё задача: есть два исполняемых файла. Она хочет из одного процесса (исполняемый файл1.exe со своей форма1) запустить другой процесс(исполняемый файл2.exe со своей форма2) и передать данные между файл1.exe.форма1 и файл2.exe.форма2. При этом файл1.exe != файл2.exe. Единственное что их объединяет, так это то, что оба они реализованы на .Net в рамках одного решения, НО в разных проектах (сиречь сборках). Кроме как сделать это с помощью межпроцессных взаимодействий, о которых здесь уже говорилось, я не знаю. А вот коллега D129, похоже знает. Я и попросил его поделиться опытом. Интересно же. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2014, 09:54 |
|
Передача данных между Проектами
|
|||
---|---|---|---|
#18+
Alex KuznetsovЕдинственное что их объединяет, так это то, что оба они реализованы на .Net в рамках одного решения, НО в разных проектах (сиречь сборках). Какое-то очень странное решение. Зачем было вообще объединять проекты, если это два абсолютно разных самостоятельных exe? Или зачем их было разделять, когда один проект можно оформить в виде class library, и не морочиться с запуском процессов и ремотингом? А коллега D129, я думаю, просто отвечал исходя из предположения, что проекты в солюшене - это exe с референсами на class library из того же солюшена. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2014, 10:03 |
|
Передача данных между Проектами
|
|||
---|---|---|---|
#18+
Сон Веры ПавловныКакое-то очень странное решение. Зачем было вообще объединять проекты, если это два абсолютно разных самостоятельных exe? Или зачем их было разделять, когда один проект можно оформить в виде class library, и не морочиться с запуском процессов и ремотингом? Да фиг его знает - это вопрос к Tanya_0306 Сон Веры ПавловныА коллега D129, я думаю, просто отвечал исходя из предположения, что проекты в солюшене - это exe с референсами на class library из того же солюшена.Ждём что скажет коллега D129... Хрустальный шар сегодня барахлит не по детски ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2014, 10:10 |
|
Передача данных между Проектами
|
|||
---|---|---|---|
#18+
Alex KuznetsovСон Веры ПавловныА коллега D129, я думаю, просто отвечал исходя из предположения, что проекты в солюшене - это exe с референсами на class library из того же солюшена.Ждём что скажет коллега D129... Хрустальный шар сегодня барахлит не по детски Вообще-то да. Я не имелл в виду "формулу абсолютного топлива" - и пытался распутать непонятки новичка. :-) Но способы передачи данных в другой процесс я знаю. Это можно сделать многими способами. Первый - если процесс запускается из аппликации - параметры командной строки. Второй - если процесс запущен и в нем есть форма - послать сообщение через API виндовс, прямо в нужный контрол. Третий - если есть возможность добавить интерфейс к процессу, и выбрав этот процесс, привести его к интерфейсу и вызывать соответствующие методы. Если нужен код - то не сегодня. Зловреды капиталисты работать заставили... :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2014, 11:14 |
|
|
start [/forum/topic.php?fid=20&fpage=128&tid=1403254]: |
0ms |
get settings: |
10ms |
get forum list: |
17ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
41ms |
get topic data: |
15ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
others: | 333ms |
total: | 489ms |
0 / 0 |