2013-05-14 42 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构造函数中,我假设有一些数据库访问。检查应用程序池运行的帐户并确认此帐户可以访问数据库。

相关问题