2012-10-02 4 views
0

Я пытаюсь запустить службу WCF под DNN.
Я создал новый проект веб-сайта службы WCF и установил вывод на C:\inetpub\...\dotnetnuke\bin
Я также удалил web.config из этого проекта.
Затем я создал на консольном проекте и попытаться добавить ссылку на службу, но я получаю следующее сообщение об ошибке:Как запустить службу WCF в dotnetnuke

An error occured while attempting to find services at 'http://localhost:5847/MyService/Service.svc 

Я удалил код из старого веб-конфигурации для dnnweb конфигурации <system.serviceModel>, но до сих пор не работают. То, что я хочу сделать, это быть в состоянии получить доступ к веб-сервиса с URL, как

localhost/dotnetnuke/portal/mywebservice... 

и не по умолчанию

localhost:XXXX/... 

Это из моего DotNetNuke web.config

<system.serviceModel> 
    <services> 
     <service name="Service" behaviorConfiguration="ServiceBehavior">   
     <endpoint address="localhost/dotnetnuke/service.svc" binding="wsHttpBinding" contract="IService">   
      <identity> 
      <dns value="localhost"/> 
      </identity> 
     </endpoint> 
     <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/> 
     </service> 
    </services> 
    <behaviors> 
     <serviceBehaviors> 
     <behavior name="ServiceBehavior">   
      <serviceMetadata httpGetEnabled="true"/>   
      <serviceDebug includeExceptionDetailInFaults="false"/> 
     </behavior> 
     </serviceBehaviors> 
    </behaviors> 
    </system.serviceModel> 

Если я наберу полный адрес в браузере

http://localhost/dotnetnuke/desktopmodules/com.demo.service/service.svc 

я получаю следующую страницу ошибки:

The type 'Service', provided as the Service attribute value in the ServiceHost directive, or provided in the configuration element system.serviceModel/serviceHostingEnvironment/serviceActivations could not be found.

+0

В разделе system.serviceModel у вас должен быть с базовым адресом или у вас , и адрес, проверьте их. – Javier

+0

Я добавил всю свою сеть, ставя под сомнение – 1110

ответ

3

Даже если вы получите эту работу, вы не будете иметь ничего, кроме неприятностей, призывающих любой из интерфейсов DNN как ваш запрос не будет иметь полный DNN контекста.

Менее простое решение - использовать Framework Services. Он был первоначально выпущен в версии 6.2 с реализацией на основе MVC2 и вскоре будет обновлен в версии 7.0 с помощью реализации на основе WebAPI.

Вы можете найти несколько сообщений об использовании Services Framework here.

+0

Вы должны послушать, что говорит ScottS здесь. Это правильный ответ. Попытка любого другого решения закончится разочарованием, трудностями и проблемами и приведет вас к использованию встроенного уровня сервисов DotNetNuke. –

Смежные вопросы