- PR -

ASP.NETでMSMQを使用して他のマシンにメッセージを送りたい

1
投稿者投稿内容
vai
会議室デビュー日: 2004/01/24
投稿数: 5
投稿日時: 2004-01-24 02:44
お世話になります。
現在、ASP.NET(VB)で開発をしておりまして、
MSMQ3.0を使用して同じワークグループ内の他のマシンに
メッセージを送りたいのですが、エラーとなってしまい
メッセージが送れません。
以下がそのソースです。

---------------------------------------
Imports System.Messaging

Public Sub TEST()

Dim msg As Message = New Message()
msg.Label = "Test"
msg.Body = "Hello World"

Dim msgQ As New MessageQueue("HOGE001\TestQueue")
'↑HOGE001が他のマシン名、TestQueueがキュー名
msgQ.Send(msg)

End Sub
---------------------------------------
上記ソースのmsgQ.Send(msg)の箇所で、
エラーとなってしまいます。
エラー内容は、
「ワークグループがインストールされているコンピュータは
 この操作をサポートしません。」
というものです。

ASP.NETでMSMQ3.0を使用して他のマシンにメッセージを送りたい場合、
どのように指定して、どのように送ればいいのでしょうか?

どなたかご存知の方がいらっしゃいましたら、教えてください。


[ メッセージ編集済み 編集者: vai 編集日時 2004-01-24 08:55 ]
ハル
常連さん
会議室デビュー日: 2003/02/12
投稿数: 22
投稿日時: 2004-01-27 23:39
こんにちは。

MSMQ がワークグループモードなので、TestQueue は専用キューだと思います。
そうするとキューの指定方法が違うのではないでしょうか。

HOGE001\Private$\TestQueue


HTH.

vai
会議室デビュー日: 2004/01/24
投稿数: 5
投稿日時: 2004-01-28 17:58
ハルさん、ありがとうございます。

ハルさんの仰るとおり、TestQueue は専用キューでしたので

 Dim msgQ As New MessageQueue("HOGE001\Private$\TestQueue")

という形で試してみたのですが、
今度は「無効なキューのパス名です。」というエラーが
返ってきてしまいました。


その後調べてみたところ、形式名(FormatName)での指定が
可能であることがわかり、

 Dim msgQ As New MessageQueue("FormatName:DIRECT=OS:HOGE001\Private$\TestQueue")

としたところ、正常にメッセージを送ることが出来ました。

ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)