- - PR -
.Net Remotingで公開するクラス
1
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-01-30 10:05
初めて投稿します。
単一のDLLで複数のクラスを提供したいと考え、 http://support.microsoft.com/default.aspx?scid=kb;ja;312107 の手順に従い、リモートオブジェクトを作成しました。
提供するクラスが1つの場合は正常に動作します。 2つ目のクラスを提供しようと、wellknown行を追加(type="XXXX.B, XXXX")すると 例外が発生します。 「メソッドを呼び出そうとしていることが XXXX.B を公開するオブジェクトのタイプ XXXX.A で定義されました。」 serviceから追加しても同様です。 私は何か、根本的な勘違いをしているのでしょうか? どなたかご教授願います。 環境は Visual Stadio 2003 Windows XP(IIS5.1) です。 | ||||||||||||
|
投稿日時: 2006-02-06 08:51
どうやらできないらしいので、
class A と class B を持った class S をつくり、 Sを通して下位の機能にアクセスするようにしましたが、新たな問題が。 試行錯誤の末、 クライアント側のアプリケーション構成ファイルに、
と、wellknownの定義を書いて、class A,Bの関数を呼び出すところまでは 動作しているのですが、権限が伝わらない。 class Aを直接使用しているときはexeのユーザ権限で動いていましたが、 class Sはexeの権限で、class A,Bは別の権限に変わっています。 MicrosoftのWebを検索した結果、「これは仕様である」らしい。 リモートオブジェクト全体を、特定の権限で動かしたいだけなのですが 何か設定はないものでしょうか? | ||||||||||||
|
投稿日時: 2006-02-06 12:02
とりあえず普通に複数のクラスを公開できます。
設定とかでどこか間違えてないですか? 例えばURLがどちらも一緒になっていたとか。 権限の話もちょっとよく分かりません。 内部で使用するクラスとはどういう使用の仕方をしてますか? 普通に作っている分には、自分のメソッド呼び出しで勝手に権限? が変わることはないように思いますが… ※まあ複数オブジェクトが普通に呼べたらこちらはあまり意味はないかもしれませんが。 | ||||||||||||
|
投稿日時: 2006-02-06 17:30
ありがとうございます。
まさにこれでした。 権限の件ですが、試行錯誤の何が影響したのかわかりませんが、 途中で動作がおかしくなりました。 つまりリモートオブジェクトの呼び出し全体に権限が伝わらない。 最終的に
と、
を追加した状態で動きました。 クライアントの設定は変えていません。 class A だけの時は、上記の記述なしで動いていたので、 何がなんだかさっぱりです。 閉じたネットワークの中で動かすので、これで運用します。 ありがとうございました。 |
1