在IIS-C#Web服务上发布网站后数据库不工作
希望你做得很好 我会尽量简短 我创建了一个名为“Contacts.asmx”的web服务,其代码如下:在IIS-C#Web服务上发布网站后数据库不工作,c#,sql,web-services,web,iis,C#,Sql,Web Services,Web,Iis,希望你做得很好 我会尽量简短 我创建了一个名为“Contacts.asmx”的web服务,其代码如下: [WebMethod] public DataTable GetContacts() { string constr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString; using (SqlConnection con = new SqlConnection(con
[WebMethod]
public DataTable GetContacts()
{
string constr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
using (SqlConnection con = new SqlConnection(constr))
{
using (SqlCommand cmd = new SqlCommand("SELECT * FROM Customers"))
{
using (SqlDataAdapter sda = new SqlDataAdapter())
{
cmd.Connection = con;
sda.SelectCommand = cmd;
using (DataTable dt = new DataTable())
{
dt.TableName = "Customers";
sda.Fill(dt);
return dt;
}
}
}
}
我的web.config中有这个代码
<add name="constr" connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\Users\user\Desktop\InternetApp\Folder\database.mdf;Integrated Security=True;Connect Timeout=30" providerName="System.Data.SqlClient"/>
我应该怎么做?连接字符串是什么?在本地运行时,凭据由用户提供。您正在从客户端向服务器发出HTTP请求,然后从服务器向数据库发出查询。然后,凭据是在服务器(而不是客户端)上启动服务的用户的凭据。请参阅角色:我发布为屏幕截图,connectionString=“Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\Users\user\Desktop\InternetApp\Folder\database.mdf;Integrated Security=True;Connect Timeout=30”Integrated Security=True使用启动应用程序的用户的凭据,而不是客户端的角色。这就是您需要设置角色的原因。该链接有示例代码,您可以在页面顶部下载。