急(分不够的话可以再加):VC++.NET建的 ASP.NET Web服务工程调用Remoting服务失败

stone212 2005-12-02 10:01:12
问题说明:VC++.NET建的 ASP.NET Web服务工程调用Remoting服务失败
VC++.NET建的Asp.NET Web服务工程 不能 调用成功(其他工程都能调用成功),主要代码如下(与Windows窗体应用程序代码相同):
void test()
{
(此处设置一个端点) invoke();
}
void invoke()
{
try
{
#ifdef GetObject
#undef GetObject
#endif
(此处设置一个端点) RemotingServer::Class1 * b = (RemotingServer::Class1) Activator::GetObject(__typeof(RemotingServer::Class1),"http://172.21.14.61:8883/Class1");
String * s = b->sayHello(); }
catch(ArgumentNullException * ae) //type 或 url 为空引用
{ }
catch(RemotingException * re) //type 未通过引用或某个接口封送处理
{ }
}

出现的问题:当你测试调试Web服务的时候,程序运行到invoke()那个,然后继续跟踪(F11)就出错,Web页面出现“服务器内部错误”。如果把 远程调用语句注释掉,程序就可以正常的运行。
编译能通过。但是调试的时候不能进入函数invoke里面,很奇怪。请高手指点。
我的QQ:71727288,加我的话附加信息填:VC.NET Remoting.

但是同样的代码同样的软件环境下,其他工程都能够调用:
远程机器上:
Remoting dll 主要代码(C#):
namespace RemotingServer
{
public class Class1 : System.MarshalByRefObject
{
public Class1()
{ }
public String sayHello()
{ return "Hello world!"; }
}
}

Windows服务工程的主要代码(C#):
public class Service1 : System.ServiceProcess.ServiceBase
{
private System.ComponentModel.Container components = null;
public Service1()
{
InitializeComponent();
}
// 进程的主入口点
static void Main()
{
System.ServiceProcess.ServiceBase[] ServicesToRun;
ServicesToRun = new System.ServiceProcess.ServiceBase[] { new Service1() };
System.ServiceProcess.ServiceBase.Run(ServicesToRun);
}
private void InitializeComponent()
{
components = new System.ComponentModel.Container();
this.ServiceName = "Service1";
TcpChannel MyChannel = new TcpChannel(8881);
ChannelServices.RegisterChannel(MyChannel);
RemotingConfiguration.RegisterWellKnownServiceType(typeof(RemotingServer.Class1),"Class1",WellKnownObjectMode.SingleCall);
}
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{ components.Dispose(); }
}
base.Dispose( disposing );
}
protected override void OnStart(string[] args)
{ }
protected override void OnStop()
{ }
}

调用端:
C#建的 所有工程都能够调用成功,主要代码如下;
try
{
RemotingServer.Class1 b = (RemotingServer.Class1) Activator.GetObject(typeof(RemotingServer.Class1),"http://172.21.14.61:8883/Class1");
string s = b.sayHello();
}
catch(ArgumentNullException ae) //type 或 url 为空引用
{ }
catch(RemotingException re) //type 未通过引用或某个接口封送处理
{ }

VC++.NET建的 Windows窗体应用程序能调用成功,主要代码如下:
try
{
#ifdef GetObject
#undef GetObject
#endif
RemotingServer::Class1 * b = (RemotingServer::Class1) Activator::GetObject(__typeof(RemotingServer::Class1),"http://172.21.14.61:8883/Class1");
String * s = b->sayHello(); }
catch(ArgumentNullException * ae) //type 或 url 为空引用
{ }
catch(RemotingException * re) //type 未通过引用或某个接口封送处理
{ }
...全文
161 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
stone212 2005-12-04
  • 打赏
  • 举报
回复
日志没记录出了什么问题。只有我关了IE页面之后才在日志里面看到了记录。
aspnet_wp.exe (PID: 3716)意外停止。

有关更多信息,请参阅在 http://go.microsoft.com/fwlink/events.asp 的帮助和支持中心。

能加我QQ么?71727288,咱们在QQ里面聊。MSN也可以slzstone@hotmail.com
fangzhe 2005-12-04
  • 打赏
  • 举报
回复
还有管理工具里那个日志,应用程序里有ASP_NETWP说出了什么问题
fangzhe 2005-12-03
  • 打赏
  • 举报
回复
奇了奇了
你看看日志里面asp_netwp说出的什么错误……
stone212 2005-12-03
  • 打赏
  • 举报
回复
楼上的试过没有?
你说的日志在哪儿看呢?是不是调试信息啊?调试信息是:“/LM/W3SVC/1/ROOT/TestRemoteWebServiceCPP-2-127780521801350119”: 已加载“c:\windows\assembly\gac\system.web.regularexpressions\1.0.5000.0__b03f5f7f11d50a3a\system.web.regularexpressions.dll”,未加载符号。
“DefaultDomain”: 已加载“c:\windows\assembly\gac\system.web.regularexpressions\1.0.5000.0__b03f5f7f11d50a3a\system.web.regularexpressions.dll”,未加载符号。
“/LM/W3SVC/1/ROOT/TestRemoteWebServiceCPP-2-127780521801350119”: 已加载“c:\windows\assembly\gac\mscorlib.resources\1.0.5000.0_zh-chs_b77a5c561934e089\mscorlib.resources.dll”,未加载符号。
“aspnet_wp.exe”: 已加载“C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\testremotewebservicecpp\e1b55d30\d6166987\assembly\dl2\84d80bfd\6f4b5d30_f8f7c501\TestRemoteWebServiceCPP.DLL”,已加载符号。
“/LM/W3SVC/1/ROOT/TestRemoteWebServiceCPP-2-127780521801350119”: 已加载“c:\windows\microsoft.net\framework\v1.1.4322\temporary asp.net files\testremotewebservicecpp\e1b55d30\d6166987\assembly\dl2\84d80bfd\6f4b5d30_f8f7c501\testremotewebservicecpp.dll”,符号已加载。
“aspnet_wp.exe”: 已加载“C:\WINDOWS\assembly\GAC\System.Web.Services\1.0.5000.0__b03f5f7f11d50a3a\System.Web.Services.dll”,未加载任何符号。
“/LM/W3SVC/1/ROOT/TestRemoteWebServiceCPP-2-127780521801350119”: 已加载“c:\windows\assembly\gac\system.web.services\1.0.5000.0__b03f5f7f11d50a3a\system.web.services.dll”,未加载符号。
“/LM/W3SVC/1/ROOT/TestRemoteWebServiceCPP-2-127780521801350119”: 已加载“c:\windows\assembly\gac\system.drawing\1.0.5000.0__b03f5f7f11d50a3a\system.drawing.dll”,未加载符号。
“DefaultDomain”: 已加载“c:\windows\assembly\gac\system.drawing\1.0.5000.0__b03f5f7f11d50a3a\system.drawing.dll”,未加载符号。
“aspnet_wp.exe”: 已加载“C:\WINDOWS\assembly\GAC\System.Web.Mobile\1.0.5000.0__b03f5f7f11d50a3a\System.Web.Mobile.dll”,未加载任何符号。
“aspnet_wp.exe”: 已加载“C:\WINDOWS\assembly\GAC\System.Design\1.0.5000.0__b03f5f7f11d50a3a\System.Design.dll”,未加载任何符号。
“aspnet_wp.exe”: 已加载“C:\WINDOWS\assembly\GAC\System.Windows.Forms\1.0.5000.0__b77a5c561934e089\System.Windows.Forms.dll”,未加载任何符号。
“aspnet_wp.exe”: 已加载“C:\WINDOWS\assembly\GAC\Accessibility\1.0.5000.0__b03f5f7f11d50a3a\Accessibility.dll”,未加载任何符号。
“/LM/W3SVC/1/ROOT/TestRemoteWebServiceCPP-2-127780521801350119”: 已加载“c:\windows\assembly\gac\system.web.mobile\1.0.5000.0__b03f5f7f11d50a3a\system.web.mobile.dll”,未加载符号。
“/LM/W3SVC/1/ROOT/TestRemoteWebServiceCPP-2-127780521801350119”: 已加载“c:\windows\assembly\gac\system.enterpriseservices\1.0.5000.0__b03f5f7f11d50a3a\system.enterpriseservices.dll”,未加载符号。
“DefaultDomain”: 已加载“c:\windows\assembly\gac\system.enterpriseservices\1.0.5000.0__b03f5f7f11d50a3a\system.enterpriseservices.dll”,未加载符号。
“/LM/W3SVC/1/ROOT/TestRemoteWebServiceCPP-2-127780521801350119”: 已加载“c:\windows\assembly\gac\system.data\1.0.5000.0__b77a5c561934e089\system.data.dll”,未加载符号。
“DefaultDomain”: 已加载“c:\windows\assembly\gac\system.data\1.0.5000.0__b77a5c561934e089\system.data.dll”,未加载符号。
“aspnet_wp.exe”: 已加载“C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\mscorsn.dll”,未加载任何符号。
“/LM/W3SVC/1/ROOT/TestRemoteWebServiceCPP-2-127780521801350119”: 已加载“c:\windows\microsoft.net\framework\v1.1.4322\temporary asp.net files\testremotewebservicecpp\e1b55d30\d6166987\-riwqvr5.dll”,符号已加载。
“aspnet_wp.exe”: 已加载“C:\WINDOWS\assembly\GAC\Microsoft.VisualBasic\7.0.5000.0__b03f5f7f11d50a3a\Microsoft.VisualBasic.dll”,未加载任何符号。
“/LM/W3SVC/1/ROOT/TestRemoteWebServiceCPP-2-127780521801350119”: 已加载“c:\windows\assembly\gac\microsoft.visualbasic\7.0.5000.0__b03f5f7f11d50a3a\microsoft.visualbasic.dll”,未加载符号。
“/LM/W3SVC/1/ROOT/TestRemoteWebServiceCPP-2-127780521801350119”: 已加载“c:\windows\microsoft.net\framework\v1.1.4322\temporary asp.net files\testremotewebservicecpp\e1b55d30\d6166987\zboz7vdv.dll”,符号已加载。
“aspnet_wp.exe”: 已加载“C:\Program Files\Common Files\Microsoft Shared\VS7Debug\csm.dll”,未加载任何符号。
“/LM/W3SVC/1/ROOT/TestRemoteWebServiceCPP-2-127780521801350119”: 已加载“c:\windows\assembly\gac\system.web.services.resources\1.0.5000.0_zh-chs_b03f5f7f11d50a3a\system.web.services.resources.dll”,未加载符号。
线程 'Win32 线程' (0x924) 已退出,返回值为 0 (0x0)。
“/LM/W3SVC/1/ROOT/TestRemoteWebServiceCPP-2-127780521801350119”: 已加载“mj1mfy1e”,未加载符号。
线程 'Win32 线程' (0x758) 已退出,返回值为 0 (0x0)。

7,540

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 VC.NET
社区管理员
  • VC.NET社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧