【问题标题】:Host .NET Remoting in IIS Express在 IIS Express 中托管 .NET 远程处理
【发布时间】:2015-09-16 15:20:16
【问题描述】:

我正在将使用大量 .NET Remoting 的遗留系统转换为更现代的通信框架,并且我正在尝试在任何重大修订之前让它在本地运行。我的本地设置是Visual Studio 2013,我想托管在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. 新建了一个Console Application,将client和app.config放到这个项目中

  2. 创建了一个空 Web 应用程序,将服务器和 web.config 放置在此项目中

  3. Visual Studio 在 localhost:53645 上托管我的站点,我已更改客户端 app.config 以同时访问 localhost 和 localhost:53645。

这应该行得通,对吧?

【问题讨论】:

    标签: .net iis-express remoting


    【解决方案1】:

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

    【讨论】:

    • 天啊!谢谢你!事后看来如此明显。最终,它是两个配置的 type 属性中的程序集。现在就像一个魅力!
    猜你喜欢
    • 1970-01-01
    • 2018-09-10
    • 1970-01-01
    • 2011-03-23
    • 1970-01-01
    • 1970-01-01
    • 2020-12-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多