Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / COM+ Web Service (CAO) в стиле "Hello World" / 1 сообщений из 1, страница 1 из 1
07.08.2006, 17:00
    #33903689
Jax
Jax
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
COM+ Web Service (CAO) в стиле "Hello World"
Кто-нибудь пользуется COM+ Web Services в режиме CAO? Подскажите почему может не работать такой простой код:

Имеем:
Простейший COM+ серверный компонент под Window XP SP2 с отмеченной галочкой “Uses SOAP”:


using System;
using System.Runtime.InteropServices;
using System.EnterpriseServices;

namespace ComPlusWStestSrv{

[assembly: AssemblyVersion("1.0.100.100")]
[assembly: AssemblyKeyFile("..\\..\\ComPlusWStestSrv.snk")]
[assembly: ApplicationName("ComPlusWStestSrv")]
[assembly: ApplicationActivation(ActivationOption.Server,
SoapVRoot="ComPlusWStestSrv")]

public interface IResult {
string Test();
}

[ClassInterface(ClassInterfaceType.AutoDual)]
public class ComPlusWS : ServicedComponent, IResult {

public ComPlusWS(){}

public string Test(){
return “Hello, World!”
}
}
}




Экспортирован и установлен как Application Proxy на клиентской машине под Windows Server 2003 SP1.

Простой клиент обращается к компоненту:

ComPlusWStestSrv.ComPlusWS tst = new ComPlusWStestSrv.ComPlusWS();

MessageBox.Show(tst.Test());


И вываливается:

Unhandled Exception: System.InvalidCastException: QueryInterface for interface ComPlusWStestSrv.IResult failed.

Server stack trace:

at ComPlusWStestSrv.IResult.Test()

at System.Runtime.Remoting.Messaging.StackBuilderSink.PrivateProcessMessage(MethodBase mb, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]& outArgs)

at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg, Int32 methodPtr, Boolean fExecuteInContext)



Exception rethrown at [0]:

at ComPlusWStestSrv.IResult.Test()

at System.Runtime.Remoting.Messaging.StackBuilderSink.PrivateProcessMessage(MethodBase mb, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]& outArgs)

at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg, Int32 methodPtr, Boolean fExecuteInContext)



Exception rethrown at [1]:

at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)

at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)

at ComPlusWStestSrv.ComPlusWS.Test()

at winComWS.Form1.button1_Click(Object sender, EventArgs e)

at System.Windows.Forms.Control.OnClick(EventArgs e)

at System.Windows.Forms.Button.OnClick(EventArgs e)

at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)

at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)

at System.Windows.Forms.Control.WndProc(Message& m)

at System.Windows.Forms.ButtonBase.WndProc(Message& m)

at System.Windows.Forms.Button.WndProc(Message& m)

at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m)

at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m)

at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)

at System.Windows.Forms.ComponentManager.System.Windows.Forms.UnsafeNativeMethods+IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)

at System.Windows.Forms.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)

at System.Windows.Forms.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)

at System.Windows.Forms.Application.Run(Form mainForm)

at winComWS.Form1.Main()
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / COM+ Web Service (CAO) в стиле "Hello World" / 1 сообщений из 1, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]