(急切求助)WebService返回DataSet类型问题(在线等)
大家好啊,向大家请教个问题:
写的返回DataSet类型的WebService在"调试环境下"可以运行,但是在IIS中浏览就有问题,
请大家帮忙看下,谢谢!
//***************************************
//WebService代码
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
public class Srv0621 : System.Web.Services.WebService
{
public Srv0621 () {
//如果使用设计的组件,请取消注释以下行
//InitializeComponent();
}
[WebMethod]
public string HelloWorld() { //该方法可以正常调用
return "Hello boy";
}
[WebMethod]
public DataSet fun()
{ //该方法调用出错
//string constr = ConfigurationManager.ConnectionStrings["db001ConnectionString"].ToString();
string constr = ConfigurationSettings.AppSettings["db001ConnectionString"];
SqlConnection con = new SqlConnection(constr);
string sqlstr = "select * from t_a";
SqlCommand com = new SqlCommand(sqlstr, con);
SqlDataAdapter dpt = new SqlDataAdapter(sqlstr, con);
DataSet ds = new DataSet();
dpt.Fill(ds);
if (com.Connection.State != ConnectionState.Closed)
{
com.Connection.Close();
}
return ds;
}
}
<?xml version="1.0"?>
<configuration>
<appSettings>
<add key="db001ConnectionString" value="Data Source=ServerName;Initial Catalog=db001;Integrated Security=True">
</add>
</appSettings>
<system.web>
<compilation debug="true">
<assemblies>
<add assembly="System.Configuration.Install, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=B03F5F7F11D50A3A"/></assemblies></compilation>
<authentication mode="Windows"/>
</system.web>
</configuration>
//***************************************
//在IIS中和在WinForm中调用时,错误提示信息如下:
System.Web.Services.Protocols.SoapException: 服务器无法处理请求。 ---> System.Data.SqlClient.SqlException: 用户 'ServerName\ASPNET' 登录失败。
在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
在 System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
在 System.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin(Boolean enlistOK)
在 System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance)
在 System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance)
在 System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection)
在 System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options)
在 System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject)
在 System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject)
在 System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject)
在 System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
在 System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
在 System.Data.SqlClient.SqlConnection.Open()
在 System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
在 System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
在 System.Data.Common.DbDataAdapter.Fill(DataSet dataSet)
在 Srv0621.fun() 位置 d:\tmp111\WinCE_0621\Srv_0621\App_Code\Srv0621.cs:行号 34
--- 内部异常堆栈跟踪的结尾 ---
//***************************************