0

我有一个调用 SQL 查询并返回结果的 Web 服务。查询正常,Web 服务正常。

当我在 Visual Studio 中的调试中运行它时,它运行良好(IP 是 localhost,而 iis 服务器来自 Visual Studio 中),但是当我将它部署到 IIS(在同一台计算机上)时,它什么也不返回。我的意思是空的xml。

问题是什么?

我如何解决它?

这是网络服务,连接字符串在它之外:

[WebMethod]
public string CC()
{
    DataSet s = null;
    String c;
    System.Configuration.Configuration rootWebConfig =
            System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("\\");

    System.Data.SqlClient.SqlConnection sqlConnection1 = new System.Data.SqlClient.SqlConnection();

    sqlConnection1.ConnectionString = connString.ConnectionString;
        string select = "SELECT count (*) from [Customers]";

    // Create an Adapter
    SqlDataAdapter da = new SqlDataAdapter(select, sqlConnection1);

    // Create a New DataSet
    DataSet ds = new DataSet();

    da.Fill(ds, "Customers");

    return ds.Tables[0].Rows[0][0].ToString();
}

这是web.config文件:

<?xml version="1.0"?>
<configuration>
    <appSettings/>
    <connectionStrings>
        <add name="ExecuTechConnectionString" 
             connectionString="user id=yuuvuv1; password=user;server=202.155.146.289\SQLEXPRESS;Trusted_Connection=no;database=YuYu; connection timeout=30"
             providerName="System.Data.SqlClient" />
    </connectionStrings>
    <system.web>
        <compilation debug="true" />
        <authentication mode="Windows" />
    </system.web>
</configuration>'

我正在从soapUI-4.5.0 软件调用Web 服务进行测试,它使用SOAP 来调用Web 服务。

谢谢,

4

1 回答 1

0

VS 和 IIS 运行不同的服务器 - 前者专门用于 VS 开发。

在您的应用程序可以在 IIS 中运行之前,您必须检查设置 -

  • 应用程序设置 - 是否允许/启用 asp.net?(服务扩展)
  • 发布到 IIS 是否实际上将目录标记为 ASP.net 的应用程序/正确版本
  • 应用程序池设置?

假设上述情况良好,请检查 SQL Express 是否允许通过 TCP/IP 进行外部连接

于 2012-04-11T20:07:59.063 回答