小编Sam*_*iew的帖子

SqlDataReader性能下降

我在MSSMS中查询执行~2秒(返回25K行)

.NET(sqlReader)中使用的相同查询只需几分钟!

我也尝试过只执行读者

(评论while循环中的所有代码只是离开reader.Read()) - 仍然相同!

知道怎么了?


我不是DBA,也没有特权与Profiler一起玩 - 会问我的DBA,让大家都知道.

与此同时,我注意到在我正在谈论的SP中添加" WITH RECOMPILE "参数后,必不可少的性能提升

所以,从我的角度来看,执行计划似乎就是这样......你怎么看?

[编辑] 我所检查的是从QA和.NET执行以下查询

select @@options
Run Code Online (Sandbox Code Playgroud)

我的理解是它将为两个环境返回相同的值.(如果没有使用不同的ex.plans)我是对的吗?

[EDIT2] 我已经阅读(来自http://www.sqldev.net/misc/fn_setopts.htm)在QA 中ARITHABOIRT = ON(在.NET中它关闭)

enybody是否知道如何为每个.NET连接强制ARITHABOIRT = ON?

.net sql-server sql-server-2005 sqldatareader

11
推荐指数
2
解决办法
1万
查看次数

C offsetof宏如何工作?

可能重复:
为什么这个C代码有效?
你如何在struct上使用offsetof()?

我在互联网上读到了这个偏移宏,但它没有解释它的用途.

#define offsetof(a,b) ((int)(&(((a*)(0))->b)))
Run Code Online (Sandbox Code Playgroud)

它想做什么以及使用它有什么好处?

c macros offset

11
推荐指数
3
解决办法
1万
查看次数

如何在C中获取Linux中进程的PID

我需要使用kill API终止进程.为此,我需要进程的进程ID.我尝试使用它:

ret = system("pidof -s raj-srv");
Run Code Online (Sandbox Code Playgroud)

但它没有返回正确的值.我不想使用这个来杀死进程:

ret = system("pkill raj");
Run Code Online (Sandbox Code Playgroud)

是否有任何API可用于获取进程ID?

c linux process

11
推荐指数
3
解决办法
4万
查看次数

如何将C#转换为C++

有人可以帮我把C#转换成C++吗?这是一个例子:

using System;
using System.Net;
using System.Text;
using System.IO;
using System.Threading;
namespace read_website
{
    class Program
    {
        static void Main(string[] args)
        {
            while (true)
            {
                DownloadString("http://www.xxx.asp");
                Thread.Sleep(100);//update every 100 millisecoand 
            }
        }

        public static void DownloadString(string address)
        {           
            WebClient client = new WebClient();
            string website = client.DownloadString(address);
            get_Current_X1_value(website);
        }

        static void get_Current_X1_value(string web)
        {
            int x = web.IndexOf("Current X1 value:");
            string part1 = web.Substring(x, 100);
            string[] array = part1.Split('>', '<');
            for (int i = 0; i < array.Length; i++)
            { …
Run Code Online (Sandbox Code Playgroud)

c# c++ mixing

10
推荐指数
4
解决办法
8万
查看次数

以编程方式设置type ="file"输入HTML元素的值?

注意:

下面的答案反映了2009年遗留浏览器的状态.现在,您可以在2017年使用JavaScript动态/编程地设置文件输入元素的值.

有关详细信息和演示,请参阅此问题中的答案:
如何以编程方式设置文件输入值(即:拖放文件时)?

我需要做的是以编程方式从使用.NET的应用程序的javascript代码向服务发送POST请求,该.NET WebBrowser基本上是嵌入式Internet Explorer.此服务要求其中一个字段为"文件".

所以,有没有办法在表单中设置"文件"输入的值,因为我有文件的内容,例如在一个字节数组中(而不是文件的路径;我是不试图从用户窃取文件:)).

或者也许是一种显式创建和发送POST请求而不是动态创建FORM的方法?

我需要使用将在我的WebBrowser(想想IE)中运行的JavaScript代码.这可能吗?

javascript post

9
推荐指数
1
解决办法
2万
查看次数

ZeroMQ高水位标记不起作用

当我在zmq指南中阅读"持久用户和高水位标记"时,它说"HWM导致ØMQ丢弃它无法放入队列的消息",但是当我运行该示例时没有消息丢失.按ctrl + c终止durasub.py,然后继续.

来自python中的zmq的示例.其他语言是相同的.

durasub.py

import zmq                                              
import time                                             

context = zmq.Context()                                 


subscriber = context.socket(zmq.SUB)                    
subscriber.setsockopt(zmq.IDENTITY, "Hello")            
subscriber.setsockopt(zmq.SUBSCRIBE, "")                
subscriber.connect("tcp://localhost:5565")              


sync = context.socket(zmq.PUSH)                         
sync.connect("tcp://localhost:5564")                    
sync.send("")                                           


while True:                                             
    data = subscriber.recv()                            
    print data                                          
    if data == "END":                                   
        break                                           
Run Code Online (Sandbox Code Playgroud)

durapub.py

import zmq                                        
import time                                       

context = zmq.Context()                           


sync = context.socket(zmq.PULL)                   
sync.bind("tcp://*:5564")                         

publisher = context.socket(zmq.PUB)               
publisher.bind("tcp://*:5565")                    

publisher.setsockopt(zmq.HWM, 2)                  

sync_request = sync.recv()                        

for n in xrange(10):                              
    msg = "Update %d" % n                         
    publisher.send(msg)                           
    time.sleep(1)                                 

publisher.send("END")                             
Run Code Online (Sandbox Code Playgroud)

zeromq

9
推荐指数
1
解决办法
7305
查看次数

Java的Exception类是检查类型吗?

这是一个显示Java'Exception'类的相反行为的示例.

try {

}
catch(Exception ex) {

}
Run Code Online (Sandbox Code Playgroud)

在检查类型的异常的情况下,如果我们在try块中保留一个catch块而没有任何错误激发语句到该特定的已检查异常,则编译器将引发一个错误,如"此异常永远不会从try语句体中抛出".但在上面的情况下,编译器不会给出任何错误.

另一方面,如果我们使用throw关键字引发类型'Exception'类的异常,则异常不会自动地被调用到调用者,如下所示:

throw new Exception();
Run Code Online (Sandbox Code Playgroud)

在上面的例子中,编译器会给出类似" Unhandled exception type Exception"的错

那么Java的Exception类是一个选中还是未选中的类型?

java

9
推荐指数
2
解决办法
3057
查看次数

MailConnectException:无法连接到主机,端口:smtp.gmail.com,465;超时 -1

我需要使用 Gmail 作为 SMTP 服务器从我的应用程序发送电子邮件。这是我的邮件连接器类,我在单独的属性文件中设置了值

    public class EmailConnector {


    public static Session sessionCreate() {
        final String fromEmail = ConfigurationManager.getInstance().getProperty(EmailConfig.SENDER_EMAIL.toString());

        final String password = ConfigurationManager.getInstance().getProperty(EmailConfig.SENDER_PASSWORD.toString());

        Properties props = new Properties();
        props.put("mail.smtp.host", ConfigurationManager.getInstance().getProperty(EmailConfig.SMTP_HOST.toString()));

        props.put("mail.smtp.socketFactory.port",
                ConfigurationManager.getInstance().getProperty(EmailConfig.SSL_PORT.toString()));

        props.put("mail.smtp.socketFactory.class",
                ConfigurationManager.getInstance().getProperty(EmailConfig.SSL_FACTORY_CLASS.toString()));

        props.put("mail.smtp.auth",
                ConfigurationManager.getInstance().getProperty(EmailConfig.SMTP_AUTHENTICATION.toString()));

        props.put("mail.smtp.port", ConfigurationManager.getInstance().getProperty(EmailConfig.SMTP_PORT.toString()));

        Authenticator auth = new Authenticator() {
            @Override
            protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication(fromEmail, password);
            }
        };
        return Session.getDefaultInstance(props, auth);
    }
}
Run Code Online (Sandbox Code Playgroud)

特性:

#Email send configuration
SENDER_EMAIL = abcalerts@gmail.com
SENDER_PASSWORD = abcalert321
SMTP_HOST = smtp.gmail.com
SSL_PORT = 465
SMTP_AUTHENTICATION = true …
Run Code Online (Sandbox Code Playgroud)

jakarta-mail jakarta-ee

9
推荐指数
2
解决办法
6万
查看次数

VSCode“打开编辑器”面板未显示

我不知道我做了什么,但我在资源管理器视图中看不到“打开编辑器”面板

缺少开放编辑器的图像

我还注意到,单击资源管理器面板顶部“资源管理器”一词右侧的三个点(视图和更多操作...),“文件夹”一词会显示为灰色

文件夹图像变灰

谁能指出我需要更改的设置才能纠正这种情况?

missing-features visual-studio-code

9
推荐指数
2
解决办法
1万
查看次数

在Google Domains上托管的域中使用自动证书管理失败

我已经遵循Heroku的自动证书管理说明,通过LetsEncrypt(感谢LetsEncrypt和heroku !!)为我的Ruby Sinatra应用程序生成SSL证书,但是为我的自定义域生成SSL证书失败了.

激活自动证书管理后,我的应用程序的heroku域名将从*.herokuapp.com更改为*.herokudns.com,如预期的那样.

我已相应更新了我的Google域记录,但Google Domain不允许将域根目录指定为CNAME记录.相反,根需要通过子域转发指向http(s)://www.mycustomdomain.com,即

mycustomdomain.com --> http://www.mycustomedomain.com
Run Code Online (Sandbox Code Playgroud)

当heroku的证书生成过程运行时,它预计将验证www.mycustomdomain.commycustomdomain.com.似乎域根通过子域转发指向www地址这一事实阻止了域根进行验证.

我是否认为这导致自定义域SSL证书的生成失败?

在我检查heroku之前,我正在联系stackoverflow社区,任何人都遇到过这个问题并解决了吗?

在heroku上自定义域设置

user@machine1:~/projects/mycustomdomain$ heroku domains
=== mycustomdomain Heroku Domain
mycustomdomain.herokuapp.com

=== mycustomdomain Custom Domains
Domain Name       DNS Target
????????????????  ??????????????????????????????
mycustomdomain.com      mycustomdomain.com.herokudns.com
www.mycustomdomain.com  www.mycustomdomain.com.herokudns.com 
Run Code Online (Sandbox Code Playgroud)

Google域配置

子域名转发

mycustomdomain.com --> http://www.mycustomdomain.com

*.mycustomdomain.com --> http://www.mycustomdomain.com

自定义资源记录

<table style="border:1px solid black; border-collpase">
  <tr>
    <th>NAME</th>
    <th>TYPE</th>
    <th>TTL</th>
    <th>DATA</th>
  </tr>
  <tr>
    <td>www</td>
    <td>CNAME</td>
    <td>1h</td>
    <td>www.mycustomdomain.com.herokudns.com</td>
  </tr>
</table>
Run Code Online (Sandbox Code Playgroud)


作为迟来的更新,我发现以下链接,我已成功用于配置托管在Google Domains上的应用,使用Let的加密SSL:https://medium.com/@connorleech/https-ssl-on- Heroku的与-谷歌域-AS-DNS提供商,c55c438556c6

(我提供链接而不是在这里重述信息,因为它是非常多的信息)

ssl heroku lets-encrypt google-domains

8
推荐指数
0
解决办法
2842
查看次数