2013-05-14 43 views
-1

我寫了一個非常簡單的WCF數據服務。但是我發現在IIS7.5上部署時無法工作。它只能在IIS Express上運行。wcf數據服務可以在iisexpress上工作,但不能在iis上

[System.ServiceModel.ServiceBehavior(IncludeExceptionDetailInFaults = true)] 
public class WcfDataService : DataService<ConfigurationDataEntities> 
{ 
    // This method is called only once to initialize service-wide policies. 
    public static void InitializeService(DataServiceConfiguration config) 
    { 
     // TODO: set rules to indicate which entity sets and service operations are visible, updatable, etc. 
     // Examples: 
     config.UseVerboseErrors = true; 
     config.SetEntitySetAccessRule("*", EntitySetRights.AllRead); 
     // config.SetServiceOperationAccessRule("MyServiceOperation", ServiceOperationRights.All); 
     config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V3; 
    } 
} 

這是webconfig文件

<configuration> 
    <configSections> 
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --> 
    <section name="entityFramework5" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> 
    </configSections> 
    <connectionStrings> 
    <add name="ConfigurationDataEntities" connectionString="metadata=res://*/ConfigurationDataModel.csdl|res://*/ConfigurationDataModel.ssdl|res://*/ConfigurationDataModel.msl;provider=System.Data.SqlServerCe.4.0;provider connection string=&quot;data source=|DataDirectory|\ConfigurationData.sdf;password=123;persist security info=True&quot;" providerName="System.Data.EntityClient" /> 
    </connectionStrings> 
    <system.web> 
    <compilation debug="true" targetFramework="4.5"> 
     <assemblies> 
     <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> 
     </assemblies> 
    </compilation> 
    <httpRuntime targetFramework="4.5" /> 
    </system.web> 

    <entityFramework5> 
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" /> 
    </entityFramework5> 
    <system.serviceModel> 
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" /> 
    </system.serviceModel> 
</configuration> 

這是錯誤消息: 服務器遇到一個錯誤處理請求。查看服務器日誌獲取更多詳細信

在System.Data.Entity.DbContext..ctor(字符串nameOrConnectionString)在WcfDataServiceTest.ConfigurationDataEntities..ctor()位置C:\項目\ WcfDataServiceTest \ WcfDataServiceTest \ ConfigurationDataModel.Context.cs:行號18在invoke_constructor( )在System.Data.Services.DataService 1.CreateDataSourceInstance() 在 System.Data.Services.DataService 1.CreateMetadataAndQueryProviders(IDataServiceMetadataProvider & metadataProviderInstance,IDataServiceQueryProvider & queryProviderInstance,BaseServiceProvider & builtInProvider,對象& dataSourceInstance)在System.Data.Services.DataService 1.CreateProvider() 在 System.Data.Services.DataService 1.HandleRequest()在System.Data.Services .DataService`1.ProcessRequestForMessage(Stream messageBody)在SyncInvokeProcessRequestForMessage(Object,Object [],Obj (System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc & rpc))在System.ServiceModel.Dispatcher(System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance,Object [] inputs,Object [] & outputs) .ImmutableDispatchRuntime.ProcessMessage5(MessageRpc & RPC)在System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc & RPC)在System.ServiceModel.Dispatcher.MessageRpc.Process(布爾isOperationContextSet)

回答

1

任何人都可以幫我嗎?

WCF可以幫助你:

欲知詳情,參見服務器日誌。

Configure tracing並查看發生異常的位置。由於它發生在DbContext構造函數中,我假設有一些數據庫訪問。檢查應用程序池運行的帳戶並確認此帳戶可以訪問數據庫。

相關問題