remoting配置的问题
web.config文件中关于.net Remoting配置部分:
<service>
<wellknown mode="Singleton" type="RServer.RServer,RServer"
objectUri="rserver.soap" />
</service>
在IE中输入:http://localhost/rserver/rserver.soap?wsdl后提示
System.NullReferenceException: 未将对象引用设置到对象的实例。
在 System.Runtime.Remoting.MetadataServices.WsdlGenerator.RealSchemaType.Resolve(StringBuilder sb)
在 System.Runtime.Remoting.MetadataServices.WsdlGenerator.XMLNamespace.Resolve()
在 System.Runtime.Remoting.MetadataServices.WsdlGenerator.Resolve()
在 System.Runtime.Remoting.MetadataServices.WsdlGenerator.Generate()
在 System.Runtime.Remoting.MetadataServices.MetaData.ConvertTypesToSchemaToStream(ServiceType[] serviceTypes, SdlType sdlType, Stream outputStream)
在 System.Runtime.Remoting.MetadataServices.SdlChannelSink.GenerateSdl(SdlType sdlType, IServerResponseChannelSinkStack sinkStack, ITransportHeaders requestHeaders, ITransportHeaders responseHeaders, Stream& outputStream)
在 System.Runtime.Remoting.MetadataServices.SdlChannelSink.ProcessMessage(IServerChannelSinkStack sinkStack, IMessage requestMsg, ITransportHeaders requestHeaders, Stream requestStream, IMessage& responseMsg, ITransportHeaders& responseHeaders, Stream& responseStream)
在 System.Runtime.Remoting.Channels.Http.HttpHandlerTransportSink.HandleRequest(HttpContext context)
在 System.Runtime.Remoting.Channels.Http.HttpRemotingHandler.InternalProcessRequest(HttpContext context)
ISvr接口:
namespace RServer{
public interface ISvr{
string ServerMessage();
}
}
RServer类:
namespace RServer{
public class RServer:MarshalByRefObject,ISvr{
string ISvr.ServerMessage(){
return "This is Server's Message.";
}
}
}
测试代码:
namespace RClient{
class Program{
static void Main(string[] args){
ISvr svr = (ISvr)Activator.GetObject(typeof(ISvr), "http://localhost/rserver/rserver.soap");
Console.WriteLine(svr.ServerMessage());
}
}
}
虽然在IE中测试有错误,但是测试代码却可以正常运行,帮看看,是哪块儿的问题