[表示 : 全て 最新50 1-99 2chのread.cgiへ]
Update time : 07/18 02:53 / Filesize : 21 KB / Number-of Response : 83
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C#, C♯, C#相談室 Part80



1 名前:デフォルトの名無しさん mailto:sage [2013/07/06(土) 00:14:20.06 ]
前スレ
C#, C♯, C#相談室 Part79
toro.2ch.net/test/read.cgi/tech/1363632378/

Visual Studio 2010 Express
www.microsoft.com/japan/msdn/vstudio/express/default.aspx

Visual Studio 2012 Express
www.microsoft.com/visualstudio/jpn/products/visual-studio-express-products

44 名前:デフォルトの名無しさん [2013/07/12(金) 00:05:40.27 ]
>>42
前者は__makerefで参照を取得してFieldInfo.SetValueDirect
後者はDynamicMethodとILGeneratorを使用してcallvirtではなくcall命令を発行

45 名前:デフォルトの名無しさん mailto:sage [2013/07/12(金) 07:34:18.83 ]
>>44
それは分かってるんだけど、
全て動的に解決しないといけない状況だからできないんだよね

__makeref も Emit もコンパイル時に型やメソッドが判明していないと使えないから

46 名前:デフォルトの名無しさん mailto:sage [2013/07/12(金) 07:36:04.69 ]
いや、違った
__makeref は TypedReference が持ち回りでいないから使えないんだった

47 名前:デフォルトの名無しさん mailto:sage [2013/07/12(金) 16:35:26.25 ]
教えてください〜!!

.NETのIPCチャネルを使用してプロセス間通信を実現したいのですが、
サーバ側のプロセスが再起動した場合、クライアント側では何を基準
に再接続すればいいのでしょうか?

また、有効期限(InitializeLifetimeService)が無限にしているのですが、
それって、サーバのプロセスが終了すると解放してくれますか?

よろしくお願いいたしますm(_ _)m

48 名前:47 mailto:sage [2013/07/12(金) 16:47:23.75 ]
ちなみにクライアントは「受け」だけで、クライアントから要求することはありません。

49 名前:デフォルトの名無しさん mailto:sage [2013/07/12(金) 16:49:13.90 ]
再接続?
.NET RemotingにせよWCFにせよメソッド呼び出しの形式なんだから
普通は接続なんて意識しないと思うのだけど

> それって、サーバのプロセスが終了すると解放してくれますか?
そうじゃなきゃ一体どこに実体を持つってのさ

50 名前:デフォルトの名無しさん mailto:sage [2013/07/12(金) 17:12:58.69 ]
>.NETのIPCチャネル
そんなものはありません

51 名前:47 mailto:sage [2013/07/12(金) 17:33:47.24 ]
>>再接続というのは
再起動後のサーバーのオブジェクトを参照できるようにしたい。と言う意味です。

方法として、オブジェクトにIDisposableかなにか入れて、Disposeが呼ばれたときに
フラグを立てて、クライアントに再接続要求を出すくらいでしょうか・・・

.NETでIPCチャネルでした。すいません。

52 名前:デフォルトの名無しさん mailto:sage [2013/07/12(金) 17:46:32.31 ]
基本的にメソッド呼び出しの度に接続するんだから再接続も何もないって話なんだけど
サーバ側のシングルトンオブジェクトが再作成されたときにクライアントが処理を行いたい?

あと一般的にクライアントがサーバオブジェクトを呼び出す形だが
クライアントが受けて要求することはないって構造がよく分からん



53 名前:47 mailto:sage [2013/07/12(金) 17:54:03.05 ]
MarshalByRefObjectにイベントをつけて以下の様にする予定です。

public class Test:MarshalByRefObject
{

public event Action<bool> TestEvent;

public void OnTestEvent(bool test)
{
if (TestEvent != null)
TestEvent(test);
}
}

クライアントはサーバーオブジェクトのTestEventにデリゲートを関連付ける
といった形です。

この場合に、サーバーのオブジェクトがリリース(解放)されたかどうかを
どうやってクライアントが知り得るのでしょうか?

54 名前:デフォルトの名無しさん mailto:sage [2013/07/12(金) 17:58:58.89 ]
サーバーからクライアントへ「これから破棄するよ」って送るか、
クライアント側からアクセスした時にアクセスできないことから判断する

55 名前:デフォルトの名無しさん mailto:sage [2013/07/15(月) 02:13:45.57 ]
質問なんですが

56 名前:デフォルトの名無しさん mailto:sage [2013/07/15(月) 03:13:34.85 ]
お断りだ

57 名前:デフォルトの名無しさん mailto:sage [2013/07/15(月) 07:08:59.81 ]
お、男割りで

58 名前:デフォルトの名無しさん mailto:sage [2013/07/15(月) 15:09:25.12 ]
質問です。

public class A{
string text;
public A(string text){

}
}

59 名前:デフォルトの名無しさん mailto:sage [2013/07/15(月) 15:12:09.20 ]
クラス内の変数なのかどうかがわかるように変数名決めたほうがいい

60 名前:デフォルトの名無しさん mailto:sage [2013/07/15(月) 15:16:13.90 ]
難解な質問だな

61 名前:デフォルトの名無しさん mailto:sage [2013/07/15(月) 15:16:51.14 ]
書いてる途中で送信してしまいました。
しかも書いてる途中でなんとなく自己解決できてしまったので、
とりあえず忘れてください。もうしわけございませんでした。

62 名前:デフォルトの名無しさん mailto:sage [2013/07/15(月) 20:07:11.34 ]
質問なんですが
visualstudioでSQLサーバーを使って
所持しているマンガの在庫管理プログラム的なものを作ったんですが
そのプログラムをソケット通信を使って
自分のパソコンをサーバーにして
別のパソコンで動かすようにするのは可能でしょうか?
もし可能ならやり方を教えていただけないでしょうか?



63 名前:デフォルトの名無しさん mailto:sage [2013/07/15(月) 20:13:40.65 ]
わざわざソケット使わないと駄目なの?
それは要件か?
接続文字列弄るだけで接続できんだろ
msdn.microsoft.com/ja-jp/library/ms191260%28v=sql.105%29.aspx

それともサーバープログラムはSQLサーバーとは別に存在させたいのか?
それならSQLは本質的に全く関係ないね

64 名前:デフォルトの名無しさん mailto:sage [2013/07/15(月) 23:48:35.71 ]
ソケットの勉強を始めようと思って
自分の作ったものでソケットとつなげたいと思ったんですが
そういう設定があったんですね。

では他にソケットを勉強するにはどういうものがあるでしょうか?

65 名前:デフォルトの名無しさん mailto:sage [2013/07/16(火) 00:21:30.42 ]
時代遅れだろ
ASP.NETでサーバー側だけで作るか、
DB-Webサービス-HTTP-クライアント の構成にすればいいのに

66 名前:デフォルトの名無しさん mailto:sage [2013/07/16(火) 00:30:32.38 ]
定番はチャット

67 名前:デフォルトの名無しさん mailto:sage [2013/07/16(火) 08:49:50.34 ]
C#で作ったアプリを他のPCで動かしたいのですが
「○○が見つかりません」とか「○○が登録されてません」とかで、
結局、開発環境をインストールして1回ビルドするまでは、
起動できませんでした。

Visual C# 2010 Express

追加の参照設定
MSScriptControl、AxWMPLb
VisualBasic.PowerPacks

これらに必要なファイルをコピー・登録して
アプリを実行できるようにする
無料のインストーラはありますか?
または、コピー・登録をバッチで実行するような
方法がありますか?

68 名前:デフォルトの名無しさん mailto:sage [2013/07/16(火) 09:14:35.19 ]
そういう時は再頒布でぐぐれ

69 名前:デフォルトの名無しさん mailto:sage [2013/07/16(火) 10:36:41.15 ]
>>68 ありがとうございます
VisualBasic.PowerPacksのインストーラを見つけられたのですが、
AxWMPLibがインストールされているにもかかわらず
登録されてませんとでます。
また、MSScriptControlは関係なかったようです。

70 名前:デフォルトの名無しさん mailto:sage [2013/07/16(火) 11:24:41.97 ]
そもそもVisualBasic.PowerPacksなんて使うなハゲ
Microsoft.VisualBasic.PowerPacks.Vs.dll は単体配布は認められてないみたいですね。

AxInterop.WMPLib.dllとかInterop.WMPLib.dllみたいなファイルが実行ファイルと同じフォルダにできてませんか?
それを一緒に配布せんかいヅルムケが

71 名前:デフォルトの名無しさん mailto:sage [2013/07/16(火) 11:29:00.79 ]
激しく正論

72 名前:デフォルトの名無しさん mailto:sage [2013/07/16(火) 12:08:33.45 ]
インストーラーの作成すら理解してないとかコーディング以前の問題だろwww
しかもExpressなのに2008〜2012と一番糞重い2010使ってるとかワロスwww
初心者質問スレいけよカスwww



73 名前:デフォルトの名無しさん mailto:sage [2013/07/16(火) 12:20:26.07 ]
>>72
おまえは消えろ

74 名前:デフォルトの名無しさん mailto:sage [2013/07/16(火) 12:43:45.10 ]
>>70 ありがとうございます。
PowerPacksはLineShapeのために使ってます。
他に、線を引くだけの良い手段があったら教えてください。

AxInterop.WMPLib.dllとInterop.WMPLib.dllが同じフォルダに出来ていて
一緒にコピーしましたが、変りませんでした。
DebugフォルダまたはReleaseフォルダごとコピーしましたが同様でした。

>>72
新しいプロジェクトの一覧にインストーラがありませんでした。
他のインストーラでも良いので、無料で利用できるものがあったら教えてください。
普段は2010のプロジェクトを2012で開いてますが、
やはりインストーラのプロジェクトはありませんでした。

75 名前:デフォルトの名無しさん mailto:sage [2013/07/16(火) 13:10:10.16 ]
前にも言った気がするがWMPはバージョン違いかと

76 名前:デフォルトの名無しさん mailto:sage [2013/07/16(火) 13:12:31.06 ]
>>73
おまえが消えろwww

>>74
learn.flexerasoftware.com/content/IS-EVAL-InstallShield-Limited-Edition-Visual-Studio
登録したらメールでシリアル送られてくるからインスコ、VSからプロジェクトのインストーラー作ればBuildで自動的に作成される

77 名前:デフォルトの名無しさん mailto:sage [2013/07/16(火) 13:27:55.23 ]
>>75 ありがとうございます。
すいません、過去ログ拝見してませんでした。
バージョンの違いを吸収する方法はありませんか?

>>76 ありがとうございます。
まずは、これを試してみたいと思います。

78 名前:デフォルトの名無しさん mailto:sage [2013/07/16(火) 15:09:57.67 ]
>>77
バージョンの違いを吸収する方法はやった事ないからわからん

79 名前:デフォルトの名無しさん mailto:sage [2013/07/17(水) 19:31:53.96 ]
おしえてくださいー!
IPCチャネルのナマエなのですが
以下の二つは同じプロセスで共存できないですよね?

ipc://A/B
ipc://C/D

やるとしたらこうするしかないですか?
ipc://B/A
ipc://C/A
ipc://D/A
ipc://E/A

80 名前:デフォルトの名無しさん mailto:sage [2013/07/17(水) 20:18:06.38 ]
public abstract class ObjR : MarshalByRefObject { public abstract void Do(); }
public class ObjC : ObjR { public override void Do() { Console.WriteLine("C"); }
public class ObjD : ObjR { public override void Do() { Console.WriteLine("D"); }

var c1 = new IpcServerChannel("a", "c");
ChannelServices.RegisterChannel(c1, false);
var c2 = new IpcServerChannel("b", "d");
ChannelServices.RegisterChannel(c2, false);
RemotingConfiguration.RegisterWellKnownServiceType(typeof(ObjC), "e", WellKnownObjectMode.SingleCall);
RemotingConfiguration.RegisterWellKnownServiceType(typeof(ObjD), "f", WellKnownObjectMode.SingleCall);

var c = (ObjR)Activator.GetObject(typeof(ObjR), "ipc://c/e");
c.Do();
c = (ObjR)Activator.GetObject(typeof(ObjR), "ipc://d/f");
c.Do();

81 名前:デフォルトの名無しさん [2013/07/17(水) 21:26:46.19 ]
datatable
view
datasource

↑C#3日目だけどこのへんの関係がよくわからん
だれかわかりやすくおしえて

82 名前:デフォルトの名無しさん mailto:sage [2013/07/17(水) 21:29:22.96 ]
IListSourceとかいろいろ絡むんで文字では説明しづらい








[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<21KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef