加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

在网址调用上重新启动c#windows服务

发布时间:2020-12-15 21:50:58 所属栏目:百科 来源:网络整理
导读:我有一个c#应用程序作为 Windows服务运行.此应用程序使用开源微型http服务器进行URL通信.开发了一个flext应用程序,用于使用get / post方法通过c#应用程序更新和选择sqlite数据库中的数据. 我有一个名为https:/ domainname:portnumber / folder / tree / 20
我有一个c#应用程序作为 Windows服务运行.此应用程序使用开源微型http服务器进行URL通信.开发了一个flext应用程序,用于使用get / post方法通过c#应用程序更新和选择sqlite数据库中的数据.

我有一个名为https:/ domainname:portnumber / folder / tree / 200的网址
它在c#服务的帮助下从数据库中读取数据,并以xml格式向客户端返回大量数据.

有时当这个网址被称为totral c#windows服务正在重新启动.
然后需要刷新flext应用程序再次启动它.
安装Windows服务的服务器防火墙已关闭,机器也可以访问.

当我检查这个url调用后发现的日志时,服务器重新启动.此外,当我检查提琴手的流量时,我收到以下错误:

HTTP/1.1 502 Fiddler - Connection Failed
Content-Type: text/html; charset=UTF-8
Connection: close
Timestamp: 10:18:52.685

[Fiddler] The socket connection to (domainname) failed. <br />ErrorCode: 10061.

用于调用此文件夹/树的代码如下所示

public string Tree()
{
    try
    {
        string langstr = "";
        if (Request.QueryString["lang"] != null && !string.IsNullOrEmpty(Request.QueryString["lang"].Value))
        {
            langstr = Request.QueryString["lang"].Value.ToString();
        }
        else
        {
            ThingzDatabase db = SessionDatabase;
            langstr = db.DefaultLanguage;
            db = null;
        }

        folderTree = new FolderTree(Convert.ToInt32(Id),true,SessionDatabase,langstr);
        XmlDocument doc = folderTree.XML;

        Response.ContentType = ContentType.Xml;
        langstr = null;
        folderTree.db2 = null;
        folderTree = null;
        //GC.Collect();
        return doc.InnerXml;                    
    }
    catch (Exception e)
    {
        TouchServer.Log(Logger.MessageType.Error,1,e.ToString());
        return "Get folder tree failed,reason:" + e.Message;
    }
}

要从sqlite数据库执行查询,请使用以下代码

public SQLiteDataReader ExecuteSQL(String sqlExpr)
{
    if (conn.State != ConnectionState.Open
        Open(DataFile);

    using (SQLiteCommand cmd = conn.CreateCommand())
    {
        cmd.CommandText = sqlExpr + ";PRAGMA read_uncommitted = 1;";
        cmd.CommandType = CommandType.Text;
        return cmd.ExecuteReader();
    }          
}

解决方法

什么是返回字符串的大小?您可以将其写入文件以验证返回字符串的长度.

如果长度超过一定限制,Web服务可能会出现问题.

以下链接讨论了类似的问题.
http://social.msdn.microsoft.com/forums/en-US/wcf/thread/58e420e9-43a3-4119-b541-d18158038e36/

如果您没有处理异常,服务可能会崩溃.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读