2010-07-08 2 views
0

Visual Studio 2010을 사용하여 C#에서 Windows Azure에 x509 인증서를 배포해야하는 Healthvault WCF 웹 서비스를 구축하려고합니다. 솔루션을 디버깅 할 때 내 로컬 IIS7에서 모든 기능을 아무런 문제없이 수행 할 수 있습니다. Windows Azure에 배포하고 메서드를 실행하려고하면이 오류가 발생합니다.Windows Azure에서 WCF 서비스를 실행할 때 '액세스가 거부되었습니다.'예외 메시지가 발생합니다.

서버가 요청을 처리하는 중 오류가 발생했습니다. 예외 메시지는 '액세스가 거부되었습니다.'입니다. 자세한 내용은 서버 로그를 참조하십시오. 예외 스택 트레이스이다

System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke에서 (오브젝트 인스턴스, [] 입력 오브젝트 [] & 출력 개체) System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin (MessageRpc & RPC)에서 System.ServiceModel.Dispatcher.MessageRpc.Process에서 System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31에서 System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5 (MessageRpc & RPC) (MessageRpc & RPC) (부울 isOperationContextSet)에서

이것은 Healthvault 코드와 관련이없는 것처럼 보입니다. o WCF 서비스와 관련이 있다고 가정합니다. 내가 알 수없는 것은 내 로컬 개발 환경과 Azure 사이의 변경 사항입니다. 에 관계없이, 여기 내 web.config 파일입니다

<?xml version="1.0"?> 
<configuration> 
    <system.diagnostics> 
    <trace> 
     <listeners> 
     <add type="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" 
      name="AzureDiagnostics"> 
      <filter type="" /> 
     </add> 
     </listeners> 
    </trace> 
    </system.diagnostics> 
    <system.web> 
    <compilation debug="true" targetFramework="4.0" /> 
    </system.web> 
<system.serviceModel> 
    <services> 
    <service name="myIHM.Healthvault"> 
     <endpoint address="" binding="webHttpBinding" contract="myIHM.IHealthvault" behaviorConfiguration="webHttp" /> 
    </service> 
    </services> 
    <behaviors> 
     <serviceBehaviors> 
     <behavior> 
      <!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment --> 
      <serviceMetadata httpGetEnabled="true"/> 
      <!-- To receive exception details in faults for debugging purposes, set the value below to true. Set to false before deployment to avoid disclosing exception information --> 
      <serviceDebug includeExceptionDetailInFaults="true"/> 
     </behavior> 
     </serviceBehaviors> 
     <endpointBehaviors> 
     <behavior name="webHttp"> 
      <webHttp/> 
     </behavior> 
     </endpointBehaviors> 
    </behaviors> 
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" /> 
    </system.serviceModel> 
    <system.webServer> 
    <modules runAllManagedModulesForAllRequests="true"/> 
    </system.webServer> 
    <appSettings> 
    <add key="ApplicationId" value="[my-app-id]"/> 
    <add key="ShellUrl" value="https://account.healthvault-ppe.com/"/> 
    <add key="HealthServiceUrl" value="https://platform.healthvault-ppe.com/platform/"/> 
    <add key="AppCertSubject" value="[my-cert-subject]"/> 
    </appSettings> 
</configuration> 

나는 몇 가지 해답을 둘러 보았지만 내 상황과 관련된 것을 찾을 수없는 것 같습니다. 누구든지 추천 사항이 있습니까? 감사.

+0

Azure에 인증서를 배포 했습니까? – knightpfhor

답변

0

Cloud Fabric에서보다 개발 패브릭에서 실행할 때 더 많은 권한을 가질 수 있다는 사실을 기억하십시오. 따라서 개발 패브릭에서 작업 한 다음 클라우드에서 권한 오류가 발생하는 것은 드문 일이 아닙니다. 불량배, 나는 알고있다. 예를 들어 다음을 사용하여 서버 로그를 가져올 수 있습니다. Azure Diagnostics Manager (http://www.cerebrata.com/Products/AzureDiagnosticsManager/Default.aspx)는 무료 평가판입니다. 그러면 실패한 부분에 대한 자세한 정보를 얻을 수 있습니다.

관련 문제