C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[5]: WEBアプリから別のWEBアプリ関数CALL


(過去ログ 77 を表示中)

[トピック内 10 記事 (1 - 10 表示)]  << 0 >>

■45602 / inTopicNo.1)  WEBアプリから別のWEBアプリ関数CALL
  
□投稿者/ たろ (57回)-(2010/01/15(Fri) 16:15:28)

分類:[.NET 全般] 

お世話になっております。たろです。

今現在、C#.NETでWEBアプリの開発を行っております。

そこで今回、WEBアプリ内で行っている処理の1部分(関数)を別アプリにしてCALLする必要があります。
しかもその別アプリは単体でも動作するし、1部の関数を元のWEBアプリから使用することもしたいのです。

単純にWEBアプリから別WEBアプリの関数をCALLし、その戻り値を取得することは可能なのでしょうか?

それとも、WEBサービスとして作成し、WEB参照で関数をCALLするようにするしかないでしょうか?
でも、その場合、抜き出した部分を単体で動作することはできるのでしょうか?※WEBサービスで画面を表示させる事は可能なのでしょうか?


以上、わかりづらいと思いますが、アドバイスの程宜しくお願い致します。






引用返信 編集キー/
■45605 / inTopicNo.2)  Re[1]: WEBアプリから別のWEBアプリ関数CALL
□投稿者/ はつね (1161回)-(2010/01/15(Fri) 17:01:47)
はつね さんの Web サイト
No45602 (たろ さん) に返信
> そこで今回、WEBアプリ内で行っている処理の1部分(関数)を別アプリにしてCALLする必要があります。
> しかもその別アプリは単体でも動作するし、1部の関数を元のWEBアプリから使用することもしたいのです。
>
> 単純にWEBアプリから別WEBアプリの関数をCALLし、その戻り値を取得することは可能なのでしょうか?

やって出来ない事はない気もしますが情報が少なくて無理かどうかが判断できない(大抵は無理)です。

その処理の一部分をクラスライブラリにして、別アプリはそのクラスライブラリを使用するだけにして、
クラスライブラリの一部の関数を元のWEBアプリから使用するようにしたらどうでしょうか。


> でも、その場合、抜き出した部分を単体で動作することはできるのでしょうか?※WEBサービスで画面を表示させる事は可能なのでしょうか?

WEBサービスでWEBアプリとしての画面表示は無理です。

引用返信 編集キー/
■45608 / inTopicNo.3)  Re[2]: WEBアプリから別のWEBアプリ関数CALL
□投稿者/ たろ (58回)-(2010/01/15(Fri) 17:41:06)
ご返信ありがとうございます!

WEBサービスでWEBアプリとしての画面表示は無理なんですね・・。

処理の一部分は既にクラス化されています。
元のWEBアプリからその外部アプリのクラスを参照するにはどのようにすればよいでしょうか?




No45605 (はつね さん) に返信
> ■No45602 (たろ さん) に返信
>>そこで今回、WEBアプリ内で行っている処理の1部分(関数)を別アプリにしてCALLする必要があります。
>>しかもその別アプリは単体でも動作するし、1部の関数を元のWEBアプリから使用することもしたいのです。
>>
>>単純にWEBアプリから別WEBアプリの関数をCALLし、その戻り値を取得することは可能なのでしょうか?
>
> やって出来ない事はない気もしますが情報が少なくて無理かどうかが判断できない(大抵は無理)です。
>
> その処理の一部分をクラスライブラリにして、別アプリはそのクラスライブラリを使用するだけにして、
> クラスライブラリの一部の関数を元のWEBアプリから使用するようにしたらどうでしょうか。
>
>
>>でも、その場合、抜き出した部分を単体で動作することはできるのでしょうか?※WEBサービスで画面を表示させる事は可能なのでしょうか?
>
> WEBサービスでWEBアプリとしての画面表示は無理です。
>
引用返信 編集キー/
■45609 / inTopicNo.4)  Re[3]: WEBアプリから別のWEBアプリ関数CALL
□投稿者/ Jitta on the way (505回)-(2010/01/15(Fri) 18:17:09)
No45608 (たろ さん) に返信
> ご返信ありがとうございます!
>
> WEBサービスでWEBアプリとしての画面表示は無理なんですね・・。
>
> 処理の一部分は既にクラス化されています。
> 元のWEBアプリからその外部アプリのクラスを参照するにはどのようにすればよいでしょうか?

参照が循環するなら、クラスまたはアセンブリの切り分けが正しくありません。処理とデータを見直し、参照が一方向になるようにしましょう。あるいは、インターフェースを切り出すことで解決できるかもしれません。
引用返信 編集キー/
■45613 / inTopicNo.5)  Re[4]: WEBアプリから別のWEBアプリ関数CALL
□投稿者/ たろ (59回)-(2010/01/15(Fri) 19:03:49)
Jitta on the way さんご返信ありがとうございます!


No45609 (Jitta on the way さん) に返信
> ■No45608 (たろ さん) に返信
>>ご返信ありがとうございます!
>>
>>WEBサービスでWEBアプリとしての画面表示は無理なんですね・・。
>>
>>処理の一部分は既にクラス化されています。
>>元のWEBアプリからその外部アプリのクラスを参照するにはどのようにすればよいでしょうか?
>
> 参照が循環するなら、クラスまたはアセンブリの切り分けが正しくありません。処理とデータを見直し、参照が一方向になるようにしましょう。あるいは、インターフェースを切り出すことで解決できるかもしれません。

参照が循環するとはどういった感じでしょうか?
勉強不足で申し訳ありません。

初歩的な質問ですが、外部アプリのクラスを参照する場合、WEBサービスの「WEB参照の追加」みたいにできるのでしょうか?

引用返信 編集キー/
■45625 / inTopicNo.6)  Re[5]: WEBアプリから別のWEBアプリ関数CALL
□投稿者/ まさる (131回)-(2010/01/16(Sat) 05:31:27)
まさる さんの Web サイト
No45613 (たろ さん) に返信
> 参照が循環するとはどういった感じでしょうか?
> 勉強不足で申し訳ありません。
>
> 初歩的な質問ですが、外部アプリのクラスを参照する場合、WEBサービスの「WEB参照の追加」みたいにできるのでしょうか?

通常は共通的な処理を行うクラスはクラスライブラリ(dll)に切り出します。
今回の場合、「外部アプリのクラス」と呼ばれている部分が共通的に使われる部分なので、
このクラスを別のdllにします。

その上で、

Webアプリ ---> 共通のクラスを持つdll <--- 外部アプリ

※-> 参照方向

という感じにしてやればいかがでしょうか。
引用返信 編集キー/
■45628 / inTopicNo.7)  Re[5]: WEBアプリから別のWEBアプリ関数CALL
□投稿者/ Jitta (621回)-(2010/01/16(Sat) 22:07:20)
No45613 (たろ さん) に返信
>>参照が循環するなら、クラスまたはアセンブリの切り分けが正しくありません。処理とデータを見直し、参照が一方向になるようにしましょう。あるいは、インターフェースを切り出すことで解決できるかもしれません。
>
> 参照が循環するとはどういった感じでしょうか?
> 勉強不足で申し訳ありません。
>
> 初歩的な質問ですが、外部アプリのクラスを参照する場合、WEBサービスの「WEB参照の追加」みたいにできるのでしょうか?
>

アプリケーション1が、クラスライブラリAを参照する。クラスライブラリAは、クラスライブラリBを参照する。クラスライブラリBは、アプリケーション1を参照する。アプリケーション1は、クラスライブラリAを・・・
という状態です。

この場合、Bが参照する1の部分をCとして切り出せば、1がAとCを参照する。AがBを参照する。BがCを参照する。と、参照が巡回しなくなります。
引用返信 編集キー/
■45652 / inTopicNo.8)  Re[6]: WEBアプリから別のWEBアプリ関数CALL
□投稿者/ たろ (60回)-(2010/01/18(Mon) 09:28:35)
まさるさん、ご返信ありがとうございます!

No45625 (まさる さん) に返信
> ■No45613 (たろ さん) に返信
>>参照が循環するとはどういった感じでしょうか?
>>勉強不足で申し訳ありません。
>>
>>初歩的な質問ですが、外部アプリのクラスを参照する場合、WEBサービスの「WEB参照の追加」みたいにできるのでしょうか?
>
> 通常は共通的な処理を行うクラスはクラスライブラリ(dll)に切り出します。
> 今回の場合、「外部アプリのクラス」と呼ばれている部分が共通的に使われる部分なので、
> このクラスを別のdllにします。
>
> その上で、
>
> Webアプリ ---> 共通のクラスを持つdll <--- 外部アプリ
>
> ※-> 参照方向
>
> という感じにしてやればいかがでしょうか。

なるほど、DLLに切り出すということですね。。

ということは、上記の「共通のクラスを持つdll」部分と「外部アプリ」を1つにした状態で参照させることはできないということでしょうか?

Webアプリ ---> 外部アプリ(共通のクラスを持つdll部分)
引用返信 編集キー/
■45653 / inTopicNo.9)  Re[7]: WEBアプリから別のWEBアプリ関数CALL
□投稿者/ まさる (132回)-(2010/01/18(Mon) 09:59:26)
まさる さんの Web サイト
No45652 (たろ さん) に返信
> まさるさん、ご返信ありがとうございます!

> ということは、上記の「共通のクラスを持つdll」部分と「外部アプリ」を1つにした状態で参照させることはできないということでしょうか?
>
> Webアプリ ---> 外部アプリ(共通のクラスを持つdll部分)

外部アプリ(*.exe)にpublicなクラスがあれば、実は参照することが可能です。

ただし、あまり一般的ではありませんのでお勧めしません。

#外部プログラムを変更することができないというような、特殊な場合は仕方ないのかも。
引用返信 編集キー/
■45655 / inTopicNo.10)  Re[8]: WEBアプリから別のWEBアプリ関数CALL
□投稿者/ たろ (61回)-(2010/01/18(Mon) 10:14:58)
まさるさん、ご返信ありがとうございます!


No45653 (まさる さん) に返信
> ■No45652 (たろ さん) に返信
>>まさるさん、ご返信ありがとうございます!
>
>>ということは、上記の「共通のクラスを持つdll」部分と「外部アプリ」を1つにした状態で参照させることはできないということでしょうか?
>>
>>Webアプリ ---> 外部アプリ(共通のクラスを持つdll部分)
>
> 外部アプリ(*.exe)にpublicなクラスがあれば、実は参照することが可能です。
>
> ただし、あまり一般的ではありませんのでお勧めしません。
>
> #外部プログラムを変更することができないというような、特殊な場合は仕方ないのかも。

ほんとですか!
それは、外部アプリがWEBアプリでも可能でしょうか?
また参照の方法はどのような感じでしょうか?

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -