Wcf 在IIS中托管通用服务

Wcf 在IIS中托管通用服务,wcf,wcf-binding,Wcf,Wcf Binding,我有一个通用服务,我可以在exe中托管,并从另一个.net应用程序调用,但由于IIS上的web服务是按需加载的,因此我无法将其托管为web项目 有没有办法调整wcf堆栈以读取url(在其中我可以传递类型信息)并调用服务 我尝试使用servicefactory,但它更多地用于注入行为,而不是调用服务 谢谢我不知道你的意思 我将假设您想要的是使用某种机制根据url按需为服务创建一个实例。例如,调用将实例化Service1,将实例化Service2,等等。。。无需创建所有这些虚拟目录 我从未这样做过,

我有一个通用服务,我可以在exe中托管,并从另一个.net应用程序调用,但由于IIS上的web服务是按需加载的,因此我无法将其托管为web项目

有没有办法调整wcf堆栈以读取url(在其中我可以传递类型信息)并调用服务

我尝试使用servicefactory,但它更多地用于注入行为,而不是调用服务


谢谢

我不知道你的意思

我将假设您想要的是使用某种机制根据url按需为服务创建一个实例。例如,调用将实例化Service1,将实例化Service2,等等。。。无需创建所有这些虚拟目录

我从未这样做过,但在ASP.NET中使用URL路由应该是可能的。对于如何操作,您可能需要测试:)

OOP(包括泛型和接口)和SOA(面向服务的体系结构)世界几乎不完全匹配

这可能是其中之一。WCF系统致力于在客户端和服务器之间发送消息,因此,它总是关于真实和具体的实现;WCF消息传递不处理接口,而且就我的经验而言,它也不能很好地处理泛型

<>这是特别真实的,如果你考虑WCF的互操作性——它毕竟是“强>不<强”>“.NET”技术,而是一个可互操作的SOAP(和REST)堆栈,它可以与没有关于泛型的线索的其他系统交谈(是的,那些仍然存在)。p> 任何您想在客户端和服务器之间作为SOAP消息来回发送的内容都必须采用可以用XML模式(您的数据契约)表示的形式—我不知道您想如何在XSD中对泛型
MyType
建模—它只是不打算这样做

因此,尽管我也很喜欢泛型,但我认为它们不适合面向服务的场景。所以我想你必须重新设计你的服务来考虑这一点


Marc

我拥有的是一个类似于公共类MyGenericService的服务:ServiceBase{…}我可以在exe中托管它,并从另一个应用程序调用它,但不能使用.svc在IIS中托管它,因为它的按需和类型T未知。因此,对于每个类型T,都会有一个单独的服务实例。在wcf中是否有任何方法可以读取url并使用正确的类型T调用服务?我可以在客户端修改url以指示类型T