有没有办法让OWIN托管SOAP服务?

Jim*_*ffa 5 c# rest wcf soap owin

如何让OWIN托管SOAP端点(不管是否涉及WCF,SOAP都会提供WSDL,使得某些客户端更容易使用服务,这就是我想要SOAP和REST的原因)

我怀疑答案是:实现自己的托管SOAP端点的中间件.如果这就是答案,那就是它,但这是很多工作,所以我可能最终会坚持使用WCF并避免OWIN,如果是这样的话.我发现很难相信没有人实现过SOAP托管中间件......


作为一项规则,我们喜欢在我们的服务上执行REST和SOAP端点; 目前我们使用IIS和WCF restful位来托管带有[ServiceContract]/ [OperationContract]attributes 的SOAP,其余的用[WebInvoke]属性定义,这些属性服务不需要为不同的端点类型重新实现.

我们只是使用ASP.NET路由添加新的ServiceRoutes,它们使用与绑定到URI/SOAP的SOAP相同的服务向URI/REST添加休息绑定.

现在我们正在寻找一些新的服务工作,我想继续使用OWIN,以便我们可以通过托管不可知论来实现我们的新服务,因为一些服务将更好地服务于Windows服务托管和一些更好的IIS服务服务托管.

所有我都在摆弄东西,到目前为止,我无法获得由OWIN托管的SOAP端点.通过使我的服务继承ApiController,然后在OWIN应用程序的Configuration方法中使用这一小段代码,我将其余的处理得很好:

    public void Configuration(IAppBuilder app)
    {
        HttpConfiguration config = new HttpConfiguration();
        config.MapHttpAttributeRoutes();
        app.UseWebApi(config);
        [...]
Run Code Online (Sandbox Code Playgroud)

Hog*_*eed 1

在 OWIN 基础架构上托管 WCF 基础架构并不是那么容易,当然这是可能的,只需做一些工作,显然就可以适应或将欠缺的请求响应层代理到 WCF 基础架构;WCF 提供了一个不太简单但完整的基础设施来完成类似的事情。