2013-02-17 1 views
1

WCF 서비스 응용 프로그램 템플릿을 사용하여 Visual Studio 2012에서 웹 서비스를 만들었습니다.mvc 4 프로젝트에 웹 서비스 참조를 추가 할 수 없습니다.

모든 것이 잘 작동하지만이 그림에서 볼 수 있듯이 호스트 위해 appliction가 동일한 솔루션 내에있을 때만 :

  • Bank 프로젝트 형태는
  • 프로젝트
  • BankHost 프로젝트가 윈도우 인 웹 서비스입니다

enter image description here

하지만 나는 A로부터 서비스에 대한 참조를 얻을하려고 할 때

enter image description here

이 웹 서비스 프로젝트

<configuration> 
    <appSettings> 
    <add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" /> 
    </appSettings> 
    <system.web> 
    <compilation debug="true" targetFramework="4.5" /> 
    <httpRuntime targetFramework="4.5"/> 
    </system.web> 
    <system.serviceModel> 
    <behaviors> 
     <serviceBehaviors> 
     <behavior> 
      <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true"/> 
      <serviceDebug includeExceptionDetailInFaults="false"/> 
     </behavior> 
     </serviceBehaviors> 
    </behaviors> 
    <protocolMapping> 
     <add binding="basicHttpsBinding" scheme="https" /> 
    </protocolMapping>  
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" /> 
    </system.serviceModel> 
    <system.webServer> 
    <modules runAllManagedModulesForAllRequests="true"/> 
    <directoryBrowse enabled="true"/> 
    </system.webServer> 
</configuration> 

이것은 MVC 4 프로젝트의 내 web.config 파일의 web.config 파일 : SP.NET MVC 4 프로젝트는이 오류를 얻고있다

<configuration> 
    <configSections> 
    <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> 
     <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" /> 
     <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" /> 
    </sectionGroup> 
    </configSections> 
    <system.web.webPages.razor> 
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
    <pages pageBaseType="System.Web.Mvc.WebViewPage"> 
     <namespaces> 
     <add namespace="System.Web.Mvc" /> 
     <add namespace="System.Web.Mvc.Ajax" /> 
     <add namespace="System.Web.Mvc.Html" /> 
     <add namespace="System.Web.Optimization"/> 
     <add namespace="System.Web.Routing" /> 
     </namespaces> 
    </pages> 
    </system.web.webPages.razor> 
    <appSettings> 
    <add key="webpages:Enabled" value="false" /> 
    </appSettings> 
    <system.web> 
    <httpHandlers> 
     <add path="*" verb="*" type="System.Web.HttpNotFoundHandler"/> 
    </httpHandlers> 
    <pages 
     validateRequest="false" 
     pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" 
     pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" 
     userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> 
     <controls> 
     <add assembly="System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" namespace="System.Web.Mvc" tagPrefix="mvc" /> 
     </controls> 
    </pages> 
    </system.web> 
    <system.webServer> 
    <validation validateIntegratedModeConfiguration="false" /> 
    <handlers> 
     <remove name="BlockViewHandler"/> 
     <add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" /> 
    </handlers> 
    </system.webServer> 
</configuration> 
+1

생략 된 세부 사항 중 일부를 제거 할 수 있습니다. 1. 서비스를 추가하고 올바른 포트가 나열되면 서비스가 현재 실행 중입니까? 즉. IISexpress/웹 서버 보고서와 동일합니까? – f0x

+0

웹 참조를 사용하는 이유는 무엇입니까? –

답변

1

.svc 파일을 확인 - 그것은 HostingFactory 속성이 무엇입니까?

Factory="WebApplication1.MyServiceHostFactory" 

공장의 이름은 Your service name + HostFactory이고 전체 경로는 .svc 파일이있는 실제 공간입니다.

+0

Service.svc에서 오른쪽 클릭 ->보기 마크 업 – user1310492

+0

내게 준 <% @ ServiceHost Language = "C#"Debug = "true"Service = "Bank.MainClass"CodeBehind = "Service.svc.cs"%> – user1310492

+0

Factory = "Bank.MainClassHostFactory"를 추가하십시오. – d1mitar