Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 错误:26-定位托管到web服务器后指定的服务器/实例时出错_C#_Asp.net_Asp.net Mvc_Hosting_Publish - Fatal编程技术网

C# 错误:26-定位托管到web服务器后指定的服务器/实例时出错

C# 错误:26-定位托管到web服务器后指定的服务器/实例时出错,c#,asp.net,asp.net-mvc,hosting,publish,C#,Asp.net,Asp.net Mvc,Hosting,Publish,我使用Asp.NETMVC#开发了这个网站,在Visual Studio的pc上,一切都可以在本地正常运行。将网站托管到服务器后,我得到错误:26-错误定位指定的服务器/实例。当我按下登录按钮后,尝试登录网站时会显示错误。 我认为问题在于App_Data文件夹中自动创建的身份验证数据库ASPNETDB.mdf以及到该数据库的连接字符串。 我以前搜索并尝试过不同的已经发布的解决方案,但仍然无法解决错误。我在web.config中尝试过不同的解决方案,但没有成功 我正在寻找的解决方案是配置我的ASP

我使用Asp.NETMVC#开发了这个网站,在Visual Studio的pc上,一切都可以在本地正常运行。将网站托管到服务器后,我得到错误:26-错误定位指定的服务器/实例。当我按下登录按钮后,尝试登录网站时会显示错误。 我认为问题在于App_Data文件夹中自动创建的身份验证数据库ASPNETDB.mdf以及到该数据库的连接字符串。 我以前搜索并尝试过不同的已经发布的解决方案,但仍然无法解决错误。我在web.config中尝试过不同的解决方案,但没有成功

我正在寻找的解决方案是配置我的ASP.NET身份成员系统,它在我的pc上本地运行良好,而不是在上传之后

我已经有一个数据库,其中有一个到该数据库的连接字符串(BicycleWorldShop2)。我是否应该将ASPNETDB.mdf发布为第二个数据库,并在web.config文件中添加第二个连接字符串?我应该如何正确配置成员资格

这是我的Web.config文件的代码


我建议备份ASPNETDB.mdf并在宿主服务器上作为单独的数据库进行恢复。然后在
web.config节下创建第二个connectionstring

最后,更新成员资格、配置文件和角色管理器提供程序的
connectionstringName
属性

<add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="SecondConnectionString" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="1" passwordAttemptWindow="10" passwordStrengthRegularExpression=""/>
p.S
您真的需要
AspNetWindowsTokenRoleProvider
?另外,在成员资格和配置文件提供程序部分添加

您是否在该虚拟机上安装了SqlServer?我已将网站发布到smarterasp.net主机。从已发布的数据库BicycleWorldShop2读取数据可以正常工作,但问题只是身份验证。用户数据存储到ASPNETDB.mdf数据库中,该数据库是在Visual studio中使用成员身份自动创建的。您的MembershipProvider依赖于
connectionStringName=“LocalSqlServer”
,这似乎不会导致有效的实例。在web.config中添加一个额外的连接字符串,该字符串指向包含成员身份信息的目录。首先,将
Data Source=WW-PC\SqlExpress
更改为
Data Source=localhost
,我实际上不需要AspNetWindowsTokenRoleProvider。我正在使用smarterasp.net免费托管计划,它只允许创建一个带有一个连接字符串的数据库。是否可以从smarterasp.net向同一数据库中添加两个具有两个不同连接字符串的.mdf文件?您的想法看起来很乐观,但使用smarterasp.net解决问题的方法似乎有点不可用。@ZoranZoki您可以使用服务器资源管理器打开ASPNETDB.mdf或将.mdf文件附加到sqlexpress。接下来,为数据库模式(表和存储过程)生成t-sql脚本,然后在宿主提供程序数据库上执行该脚本,以复制成员资格、角色和概要文件模式。该模式不适用于我。你的想法是合并数据库。ASPNETDB.mdf数据库应自动创建到App_数据文件夹中。同时,我从错误建议中获得了详细信息,即:必须在计算机上安装Sql Server Express。web服务器帐户的进程标识必须具有本地用户配置文件。有关如何为计算机帐户和域帐户创建本地用户配置文件的详细信息,请参阅自述文件。我如何检查主机上是否安装了sql express,以及web服务器帐户的进程标识是否具有本地用户配置文件?@ZoranZoki我在回答中添加了一个备用方法部分。检查这是否解决了您的问题
SET @dbname = N'aspnetdb'
USE [aspnetdb]