2015-04-20 3 views
4

У меня есть приложение готово, чтобы загрузить его на хостинг, но когда я загрузить файлы на сервере я получаю эту ошибку:конфигурации Web.Config в App

Server Error in '/' Application.

Configuration Error

Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.

Parser Error Message: This configuration section cannot be used at this path. This happens when the site administrator has locked access to this section using <location allowOverride="false"> from an inherited configuration file.

Source Error:

An application error occurred on the server. The current custom error settings for this application prevent the details of the application error from being viewed remotely (for security reasons). It could, however, be viewed by browsers running on the local server machine.

хостинг Helpdesk сказал, что они могут «т изменения конфигурации сервера, так что мой файл web.config ниже:

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <location allowOverride="true"> 
    <connectionStrings> 
    <add name="ConnectionString" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Lampino.mdf;Integrated Security=True" providerName="System.Data.SqlClient"/> 
    </connectionStrings> 

    <system.web> 
     <globalization uiCulture="pl-PL" culture="pl-PL" fileEncoding="utf-8" responseEncoding="utf-8" requestEncoding="utf-8"/> 
     <compilation debug="true"/> 
     <customErrors mode="Off"/> 
     <securityPolicy> 
     <trustLevel name="Full"/> 
     </securityPolicy> 
    </system.web> 
    </location> 
</configuration> 

есть ли вариант, что он будет работать на этом хостинге, или я должен найти новую? Может быть, проблема в моем файле web.config?

Выполнено так же, как разрешение проблемы IIS, но ничего не изменилось. Также у меня нет доступа к конфигурации сервера ...

EDIT: Когда я удалил trustLevel тег получил сообщение об ошибке:

Server Error in '/' Application. 

Security Exception 

Description: The application attempted to perform an operation not allowed by the security policy. To grant this application the required permission please contact your system administrator or change the application's trust level in the configuration file. 

Exception Details: System.Security.SecurityException: Request failed. 

Source Error: 


[No relevant source lines] 

Source File: App_Web_fgajuxdi.0.cs Line: 0 

Stack Trace: 


[SecurityException: Request failed.] 
    System.Security.CodeAccessSecurityEngine.Check(Object demand, StackCrawlMark& stackMark, Boolean isPermSet) +0 
    System.Security.CodeAccessSecurityEngine.Check(PermissionSet permSet, StackCrawlMark& stackMark) +31 
    System.Security.PermissionSet.Demand() +68 
    System.Data.LocalDBAPI.DemandLocalDBPermissions() +241 
    System.Data.LocalDBAPI.CreateLocalDBInstance(String instance) +32 
    System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, Boolean withFailover) +5308411 
    System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean ignoreSniOpenTimeout, TimeoutTimer timeout, Boolean withFailover) +145 
    System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString connectionOptions, SqlCredential credential, TimeoutTimer timeout) +262 
    System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(TimeoutTimer timeout, SqlConnectionString connectionOptions, SqlCredential credential, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance) +307 
    System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions) +434 
    System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions) +225 
    System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool pool, DbConnectionOptions options, DbConnectionPoolKey poolKey, DbConnectionOptions userOptions) +37 
    System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnectionOptions userOptions) +321 
    System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnectionOptions userOptions) +67 
    System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection) +1052 
    System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection) +78 
    System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection) +167 
    System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions) +143 
    System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry) +83 
    System.Data.SqlClient.SqlConnection.Open() +96 
    System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +121 
    System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +316 
    System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable) +86 
    System.Web.UI.WebControls.SqlDataSourceView.ExecuteSelect(DataSourceSelectArguments arguments) +1482 
    System.Web.UI.WebControls.BaseDataList.GetData() +56 
    System.Web.UI.WebControls.DataList.CreateControlHierarchy(Boolean useDataSource) +173 
    System.Web.UI.WebControls.BaseDataList.OnDataBinding(EventArgs e) +63 
    System.Web.UI.WebControls.BaseDataList.DataBind() +54 
    System.Web.UI.WebControls.BaseDataList.EnsureDataBound() +74 
    System.Web.UI.WebControls.BaseDataList.CreateChildControls() +72 
    System.Web.UI.Control.EnsureChildControls() +83 
    System.Web.UI.Control.PreRenderRecursiveInternal() +42 
    System.Web.UI.Control.PreRenderRecursiveInternal() +155 
    System.Web.UI.Control.PreRenderRecursiveInternal() +155 
    System.Web.UI.Control.PreRenderRecursiveInternal() +155 
    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +6704 
    System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +245 
    System.Web.UI.Page.ProcessRequest() +72 
    System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context) +21 
    System.Web.UI.Page.ProcessRequest(HttpContext context) +58 
    ASP.index_aspx.ProcessRequest(HttpContext context) in App_Web_fgajuxdi.0.cs:0 
    System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +341 
    System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +69 
+0

Я могу понять строку подключения и культуру ui. Вам нужна остальная конфигурация? Будет ли это работать, если вы удалите те части, которые вам не нужны? – nvoigt

+0

Как видно из сообщения об ошибке, «location allowOverride» не может быть изменено. Если вам это не нужно, удалите его. – Magnus

+0

Если я удалю тэг customErrors, я получу ошибку в элементе customErrors, который там есть, и если я удалю securityPolicy, я получу ошибку в Security Exception. – Ashiv3r

ответ

2

Чтобы использовать .mdf файл, вам необходимо имеют Полный уровень доверия (см. here для получения дополнительной информации, в Entity Framework и Universal Providers раздел).

Ваш хостинг-провайдер не позволяет вам изменить уровень доверия, поэтому наличие директивы <trustLevel name="Full"/> вызывает исходную ошибку.

Удаление <trustLevel name="Full"/> директивы разрешенной оригинальная ошибки, но тогда вы получите исключение безопасности, так как ваш веб-приложение по-прежнему требует Полного уровня доверия бежать, что ваш хостинг-провайдер не предоставляет.

+0

Спасибо за объяснение. Теперь я знаю, что мне нужно изменить хостинг-провайдера, потому что это не дает мне возможности изменить уровень доверия. – Ashiv3r

+1

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

+1

Большое спасибо Тасос. Я спрашиваю свою хостинговую компанию, и они говорят: панель Pleks не позволяет полностью установить уровень доверия, но панель Maestro позволяет полностью поддерживать уровень доверия. –

0
write \\ in connectionstring. 

<connectionStrings> 
    <add name="ConnectionString" connectionString="Data Source=(LocalDB)\\v11.0;AttachDbFilename=|DataDirectory|\\Lampino.mdf;Integrated Security=True" providerName="System.Data.SqlClient"/> 
    </connectionStrings> 
+0

Ничего не меняется ... По-прежнему такая же ошибка. – Ashiv3r

3

Текущие версии ASP.NET теперь поддерживают только полное доверие. Вам нужно найти хостинг-провайдера, который поддерживает Full Trust. Например, asphostportal или hostforlife

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