首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么有一条SQL语句在IIS上执行两次,而在Visual Studio中执行一次?

为什么有一条SQL语句在IIS上执行两次,而在Visual Studio中执行一次?
EN

Stack Overflow用户
提问于 2019-04-26 03:14:02
回答 1查看 44关注 0票数 0

我有一个SQL语句,它在发布到IIS时执行两次,但在Visual Studio中只执行一次;我不确定为什么它在其中一个中有效,而在另一个中无效。

其他一些信息我有一个连接到服务器的通配符SSL,并且我在网络日志中只看到一个post请求。实际代码(进行了一些更改以保护站点的身份。)

代码语言:javascript
复制
public void AddMenuLink(MenuLinks m)
{
    string sql = "INSERT INTO MY_TABLE (Href, Target, IsF, Name, MenuGroup)" +
                 " VALUES (@Href, @Target, @IsF, @Name, @MenuGroup)"; 

    ConnHelper misc = new ConnHelper();
    SqlConnection Conn = null;
    SqlCommand sqlCmd = null;

    try
    {
            Conn = misc.GetDataConnection();

            sqlCmd = new SqlCommand(sql, Conn);
            sqlCmd.Parameters.Add("@Href", SqlDbType.VarChar).Value = m.Href;
            sqlCmd.Parameters.Add("@Target", SqlDbType.VarChar).Value =  m.Target;
            sqlCmd.Parameters.Add("@Iswolf", SqlDbType.VarChar).Value = m.IsF;
            sqlCmd.Parameters.Add("@Name", SqlDbType.VarChar).Value = m.Name;
            sqlCmd.Parameters.Add("@MenuGroup", SqlDbType.VarChar).Value = m.MenuGroup;

            sqlCmd.ExecuteScalar();
        }
        catch (Exception ex)
        {
        }
        finally
        {
            Conn.Close();
        }
}

调用它的代码是:

代码语言:javascript
复制
if (Request.Form["Add"] == "Add") 
{
    MenuLinks M = new MenuLinks();
    // Check if upload
    int uploadFlag = 0;

    if (file != null && file.ContentLength > 0)
    {
                uploadFlag = 1;
                var fileName = Path.GetFileName(file.FileName);
                string fileExt = Path.GetExtension(file.FileName);

                try
                {
                    //Original and used for viewing
                    string pathing = FILE_SHARE + "\\";
                    System.IO.Directory.CreateDirectory(pathing);
                    var path = Path.Combine(pathing, file.FileName);
                    file.SaveAs(Path.Combine(pathing, fileName));

                    //Backup
                    string pathing2 = BACKUP_SHARE + "\\";
                    System.IO.Directory.CreateDirectory(pathing2);
                    var path2 = Path.Combine(pathing2, file.FileName);
                    file.SaveAs(Path.Combine(pathing2, fileName));

                    //save path in database get ID.
                    M.Href = "http://MYSITE/Content/" + HttpUtility.UrlEncode(file.FileName);
                }
                catch (Exception ex)
                {
                    ViewBag.error = ex.ToString();
                    ViewBag.error += " Saving File FAILED IN ADD";
                    uploadFlag = 2;
                }
            }

            if(uploadFlag == 0)
            {
                //if there is no upload href get the one from link
                M.Href = Request.Form["Href"];
            }

            M.Target = Request.Form["Target"];
            M.Name = Request.Form["Name"];
            M.IsF = Request.Form["IsF"];
            M.MenuGroup = Request.Form["MenuGroup"];

            // filter uploads
            if (uploadFlag != 2)
            {
                DB.AddMenuLink(M);
            }
}

视图中有三种形式:添加/编辑/删除。

在视图中,我有以下内容(仅限添加部分):

代码语言:javascript
复制
<form action="" method="post" enctype="multipart/form-data">
<p>File Upload</p>
<input type="file" name="file" id="file" /><br />
<p>Link (leave blank if uploading file)</p>
<input type="text" name="Href" id="href" /><br />
<p>Target</p>
<select name="Target" id="Target">
    <option value="_self">In frame</option>

    <option value="_blank">New window</option>
</select>   

    <br />
<p>Name</p>
<input type="text" name="Name" id="Name" /><br />
<p>Tagged For:</p>
<input type="radio" name="IsF" value="Both" checked />Both<br />
<input type="radio" name="IsF" value="0"  />One<br />
<input type="radio" name="IsF" value="1" />The Other<br />

<br />
<p>Menu Group</p>
<select name="MenuGroup" id="MenuGroup">
    @{


        x.MenuGroup = "";
        for (int i = 0; i < 10; i++)
        {
            x.getMenuGroup(i);
            if (x.MenuGroup != "")
            {
                @Html.Raw("<option value='" + x.MenuGroup + "'>" + x.MenuGroup + "</option>")
                x.MenuGroup = "";
            }
        }
    }
</select>
<br />
<input type="submit" value="Add" name="Add" />
</form>

有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2019-04-26 19:39:29

事实证明,这是IIS的一个干净/重建/重新发布的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55856186

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档