我使用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")))
答案 0 :(得分:1)
首先,如果您发布了获得的异常详细信息,那么人们可以更轻松地帮助您解决问题。也就是说,我知道这里发生了什么,它与WCF无关。
您没有为Type.GetType
指定足够的信息,因为它无法找到您的ProjectB类。这是最相似的,因为您所指的ProjectA是ASP.NET应用程序本身,因此当您只指定namespace.classname时,它能够找到它,因为它位于同一个程序集中。要在另一个程序集中查找类,您需要将其包含在type.GetType
的调用中,如下所示:
Type.GetType("ProjectB.ClassName, ProjectBAssemblyName")
最后,也许你正在简化这个例子,但我不得不问你为什么不只是在这里使用typeof而不是像这样动态加载一个硬编码的依赖。