2015-04-20 61 views
4

我已经得到了应用程序可以将其上传的托管,但是当我上传的服务器上的文件,我得到这个错误:web.config配置错误应用

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.

寄存服务台说,他们可以“T改变服务器的配置,所以我的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问题的方式是否一样,但没有任何改变。此外,我不能够访问服务器配置...

编辑: 当我删除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,我会得到一个安全性异常的错误。 – Ashiv3r

回答

2

要使用.mdf文件,你需要具有完全信任级别(请参阅here的详细信息,在实体框架和通用提供商部分)。

您的托管服务提供商不允许您更改信任级别,因此使用<trustLevel name="Full"/>指令会导致原始错误。

卸下<trustLevel name="Full"/>指令原来的错误得到解决,但随后你会得到一个安全异常,因为你的web应用仍然需要信任级别运行,你的托管服务提供商不提供。

+0

感谢您的解释。现在我知道,我需要更换我的托管服务提供商,因为这不会给我改变信任级别的机会。 – Ashiv3r

+1

是的,您可以更换托管服务提供商,但大多数托管服务提供商不提供完全信任,特别是在共享托管环境中。或者,您可以将您的Web应用程序更改为不使用.mdf文件,但使用位于Sql Server中的数据库。 –

+1

非常感谢Tasos。我问我的托管公司,他们说: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现在只支持完全信任。您需要查找支持完全信任的托管提供程序。例如asphostportalhostforlife