在IIS Express中托管.NET Remoting

时间:2015-09-16 15:20:17

标签: .net iis-express remoting

我正在将使用广泛.NET Remoting的遗留系统转换为更现代的通信框架,我试图让它在任何重大修订之前在本地运行。我的本地设置为Visual Studio 2013,我想托管IIS Express

我正在尝试使用此示例here并从NullReferenceException收到Props提取凭据。看来ChannelServices.GetChannelSingProperties()已返回null

// GetChannelSinkProperties returns null
IDictionary Props = ChannelServices.GetChannelSinkProperties(service);
// NullReferenceException below
Props["credentials"] = CredentialCache.DefaultCredentials;

我会继续这样做,但我希望那里的专家可以帮助我。

更多详情:

我的设置是Visual Studio 2013,

  1. 创建了一个新的控制台应用程序,在此项目中放置了客户端和app.config

  2. 创建一个空的Web应用程序,在此项目中放置server和web.config

  3. Visual Studio在localhost:53645上托管我的网站,我更改了客户端app.config以同时命中localhost和localhost:53645。

  4. 这应该有用,对吗?

1 个答案:

答案 0 :(得分:1)

是的它应该有效。您的配置(服务器或客户端)有问题。最有可能的问题是您的服务类型。如果您刚刚从示例中复制了web.config和app.config,您可能会错过服务> wellknown>类型,您可以使用服务类的类型名称(包括命名空间!)和程序集名称(您可能不会像示例中那样调用ServiceClass。如果是这种情况,只需将服务类型正确设置(在服务器和客户端配置中)为“YourNamespace.YourServiceClass,YourServiceAssemblyName”和你应该没问题。当然,在客户端配置中,url应该只是http://localhost:53645/SAService.pm