在 IIS Express 中托管 .NET 远程处理

Host .NET Remoting in IIS Express

我正在转换使用大量 .NET Remoting to a more contemporary communication framework, and I am trying to get it to run locally prior to any major revisions. My local setup is Visual Studio 2013, and I would like to host in IIS Express 的遗留系统。

我正在尝试完成此示例 here 并收到 NullReferenceExceptionProps 提取凭据。 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 应用程序,在此项目中放置了服务器和 web.config

  3. Visual Studio 在 localhost:53645 上托管我的站点,并且我更改了客户端 app.config 以访问本地主机和 localhost:53645.

这应该行得通吧?

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