Как добавить службу Restful (другой проект) в ServiceRoute в WCF 4.0? - PullRequest
0 голосов
/ 08 июля 2011

Я использовал шаблон отдыха wcf 4.0, чтобы сгенерировать проект 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 Ответ

1 голос
/ 08 июля 2011

Во-первых, людям было бы легче помочь вам решить вашу проблему, если бы вы опубликовали детали исключения, которое вы получили.Тем не менее, у меня есть представление о том, что здесь происходит, и, похоже, это не имеет никакого отношения к WCF.

Вы не указываете достаточно информации для Type.GetType, чтобы она могла найти вашуПроектБ класс.Это наиболее вероятно, потому что ProjectA, на который вы ссылаетесь, является приложением ASP.NET и поэтому, когда вы указываете только namespace.classname, он может найти его, потому что он находится в той же сборке.Чтобы найти класс в другой сборке, вам нужно включить его в вызов type.GetType следующим образом:

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

Наконец, возможно, вы упрощаете пример, но я должен спросить, почему вы нездесь просто используется typeof вместо динамической загрузки жестко запрограммированной зависимости, подобной этой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...