如何在WCF 4.0中向ServiceRoute添加Restful服务(另一个项目)?

时间:2011-07-08 03:39:35

标签: wcf rest

我使用wcf 4.0 rest模板生成项目A并在另一个项目B中构建我的服务类。所以我的问题很热,在Global_asax中添加此服务。

如果我把myservice类放在项目A中,这段代码就可以了。

RouteTable.Routes.Add(New ServiceRoute("RestService", 
                      New WebServiceHostFactory(),
                      Type.GetType("ProjectA.myservice"))) 

但如果我将myservice放在项目B中,则以下代码不起作用。

RouteTable.Routes.Add(New ServiceRoute("RestService", 
                      New WebServiceHostFactory(), 
                      Type.GetType("ProjectB.myservice"))) 

1 个答案:

答案 0 :(得分:1)

首先,如果您发布了获得的异常详细信息,那么人们可以更轻松地帮助您解决问题。也就是说,我知道这里发生了什么,它与WCF无关。

您没有为Type.GetType指定足够的信息,因为它无法找到您的ProjectB类。这是最相似的,因为您所指的ProjectA是ASP.NET应用程序本身,因此当您只指定namespace.classname时,它能够找到它,因为它位于同一个程序集中。要在另一个程序集中查找类,您需要将其包含在type.GetType的调用中,如下所示:

Type.GetType("ProjectB.ClassName, ProjectBAssemblyName")

最后,也许你正在简化这个例子,但我不得不问你为什么不只是在这里使用typeof而不是像这样动态加载一个硬编码的依赖。