C# Web服务运行,但未插入数据库记录

C# Web服务运行,但未插入数据库记录,c#,web-services,asmx,C#,Web Services,Asmx,我有一个正在调用的C#asmxWeb服务,我看到结果返回到客户机上,因此我知道代码正在运行到完成阶段,没有抛出任何异常。以下是web服务类: namespace App_WebRole { /// <summary> /// Summary description for SubscriptionStatus /// </summary> [WebService(Namespace = "http://tempuri.org/")]

我有一个正在调用的C#asmxWeb服务,我看到结果返回到客户机上,因此我知道代码正在运行到完成阶段,没有抛出任何异常。以下是web服务类:

namespace App_WebRole
{
    /// <summary>
    /// Summary description for SubscriptionStatus
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    [ScriptService]
    // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
    // [System.Web.Script.Services.ScriptService]
    public class SubscriptionStatus : System.Web.Services.WebService
    {

        [WebMethod]
        [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
        public string HelloWorld()
        {
            DataSet1 dataSet = new DataSet1();
            DataSet1TableAdapters.StatusRequestsTableAdapter statusTableAdapter = new DataSet1TableAdapters.StatusRequestsTableAdapter();
            DataSet1.StatusRequestsRow newRow = dataSet.StatusRequests.NewStatusRequestsRow();
            newRow.ApplicationID = "Test";
            newRow.RequestDate = DateTime.Now;
            dataSet.StatusRequests.Rows.Add(newRow);
            dataSet.StatusRequests.AcceptChanges();
            statusTableAdapter.Update(dataSet);
            return "Hello World 2";
        }
    }
}
namespace App\u WebRole
{
/// 
///SubscriptionStatus的摘要说明
/// 
[WebService(命名空间=”http://tempuri.org/")]
[WebServiceBinding(ConformsTo=WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
[脚本服务]
//要允许使用ASP.NET AJAX从脚本调用此Web服务,请取消注释以下行。
//[System.Web.Script.Services.ScriptService]
公共类订阅状态:System.Web.Services.WebService
{
[网络方法]
[ScriptMethod(ResponseFormat=ResponseFormat.Json)]
公共字符串HelloWorld()
{
DataSet1数据集=新的DataSet1();
DataSet1TableAdapters.StatusRequestStableApter statusTableAdapter=新的DataSet1TableAdapters.StatusRequestStableApter();
DataSet1.StatusRequestsRow newRow=dataSet.StatusRequests.NewStatusRequestsRow();
newRow.ApplicationID=“测试”;
newRow.RequestDate=DateTime.Now;
dataSet.StatusRequests.Rows.Add(newRow);
dataSet.StatusRequests.AcceptChanges();
statusTableAdapter.Update(数据集);
返回“Hello World 2”;
}
}
}
我使用本地SQL Server Express数据库在我的计算机上本地运行此操作,没有看到任何记录插入到相应的表中


如果我更改了返回值,我会在客户机中看到更改后的值。另外,我查看了本地网站目录中的web.config文件,它包含本地SQL Server Express数据库的连接字符串。

在更新之前接受更改将导致更新无法看到任何需要更新的内容。删除
dataSet.StatusRequests.AcceptChanges()行。更新完成后将为您接受更改。

在更新之前接受更改将导致更新无法看到任何需要更新的内容。删除
dataSet.StatusRequests.AcceptChanges()行。更新完成后将为您接受更改。

实际上,为了使其正常工作,我在应用程序中不再使用数据集(.xsd),而是使用LINQ to SQL类(.dbml)。James的回答可能确实起到了作用,但在他发布时,我已经将它切换到了dbml,并使它发挥了巨大的作用。

实际上,为了让它发挥作用,我在应用程序中不再使用数据集(.xsd),而是使用LINQ to SQL类(.dbml)。James的回答可能确实起到了作用,但在他发布时,我已经将其切换到了dbml,并使其发挥了巨大的作用。

不更新的问题可能在于方法DataSet1TableAdapters.StatusRequestStableApter.Update(),但是如果看不到此代码,则无法确定。不更新的问题可能存在于方法DataSet1TableAdapters.StatusRequestStableApter.Update()中,但是如果看不到此代码,则无法确定。