小编Boa*_*rdy的帖子

在c#中的线程中运行带参数的方法

我目前正在C#中开展一个项目.我有一个名为updateProgress()的方法,它有两个int参数(count和totalRows).

如果我通过说updateProgress(count,totalRows)调用该方法,这可以正常工作,但我想在新线程中运行此方法.

我怎么能这样做,我已经在网上看了一下,一切看起来都太复杂了,我想做什么.

感谢您对此的帮助

c#

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

Mono中的自托管WCF服务

我目前正在开发一个C#项目,它是一个控制台应用程序,其中包含一个WCF soap服务.

下面是我用来打开主机的代码.

var baseAddress = new Uri(Configuration.soapServerSettings.soapServerUrl);
var host = new ServiceHost(typeof(SoapServer), baseAddress);
BasicHttpBinding basicHttpBinding = new BasicHttpBinding();

var meta = new ServiceMetadataBehavior()
{
    HttpGetEnabled = true,
    HttpGetUrl = new Uri("", UriKind.Relative)
};

host.Description.Behaviors.Add(meta);

var debugBehaviour = new ServiceDebugBehavior()
{
    HttpHelpPageEnabled = true,
    HttpHelpPageUrl = new Uri("", UriKind.Relative),
    IncludeExceptionDetailInFaults = true
};

ServiceEndpoint endpnt = host.AddServiceEndpoint(
    typeof(ISoapInterface),
    basicHttpBinding,
    "EmailServer");

host.Description.Behaviors.Remove(typeof(ServiceDebugBehavior));
host.Description.Behaviors.Add(debugBehaviour);
host.Open();
Run Code Online (Sandbox Code Playgroud)

这在Windows上完全正常,但在Linux上,当我浏览到它时,我收到以下消息:

XmlSchema错误:命名项 http://schemas.microsoft.com/2003/10/Serialization/:anyType已包含在架构对象表中.考虑将MONO_STRICT_MS_COMPLIANT设置为"是"以模仿MS实现.相关架构项SourceUri:,第3行,第3位.

我不知道从哪里开始研究这个问题.

感谢您的任何帮助,您可以提供

更新: 根据Rob Goodwins的建议,我添加了MONO_STRICT_MS_COMPLIANT环境变量,它看起来确实有效,我可以访问该服务.但是,我现在遇到了另一个问题.我有一个PHP页面,它每隔几秒就会发出几个请求,但过了一分钟后,我的应用程序崩溃了.

我得到以下异常:

此XmlWriter在此状态下不接受StartTag错误.在System.Xml.XmlTextWriter.WriteStartElement(System.String前缀,System.String localName,System.String namespaceUri)[0x00000] in:0 at …

c# mono wcf self-hosting

17
推荐指数
1
解决办法
4541
查看次数

用C++连接MySQL

我正在尝试学习C++,我在做一个连接到MySQL数据库的测试时遇到了一些噩梦.

我有问题MySQL连接器没有正确链接然后遇到相关的问题relocation truncated to fitr_x86_64_32 against symbol.

我想我已经通过添加编译器标志来修复它,现在应用程序成功构建和链接.

当我运行应用程序时,它会调用get_driver_instance但它会退出.没有异常被抛出,没有任何错误只是退出代码0.

下面是我的DBManager类

#include "DBConnectionManager.h"

using namespace std;

DBConnectionManager::DBConnectionManager() {
    cout << "Starting DBConnectionManager - Updated" << endl;
    try {
        cout << "Getting driver instance" << endl;
        driver = get_driver_instance();
        cout << "Got driver instance" << endl;
        conn = driver->connect("tcp://127.0.0.1:3306", "root", "password");
        conn->setSchema("bugs");
        cout << "Connected to database" << endl;
    }
    catch (SQLException ex) {
        cout << "Error connecting to DB: " << ex.what() << endl;
    }
    catch (...) {
        cout …
Run Code Online (Sandbox Code Playgroud)

c++ mysql c++11 clion

17
推荐指数
2
解决办法
5257
查看次数

使用Libssh2 C++进行SSH公钥认证

我正在开发一个项目,我正在使用C++中的libssh2将端口转发到MySQL.我已经使用它进行用户名/密码验证,但我现在想要使用公钥/私钥验证.libssh2的文档很差,所以我很难解决我需要做的事情.

我想要做的是让一个Android应用程序将数据发布到我的C++应用程序,其中C++将获得SSH详细信息以及auth密钥,并创建SSH隧道.C++正在获得关键,然后我正在执行以下操作来进行公钥认证.

else if (this->getAuthMethod() == SupportedAuthMethods::AUTH_PUBLICKEY)
    {

        string test = this->getSSHPrivateKey();

        boost::replace_all(test, "\n", "");

        unsigned char * key = (unsigned char *)test.c_str();

        size_t sizeofkey = strlen((char*)key);
        cout << key << endl;
        stringstream logstream;
        logstream << "Using public key authentication for SSH Host: " << this->getSSHHostnameOrIPAddress();
        this->bitsLibrary->writeToLog(logstream.str(), "SSHTunnelForwarder", "authenticateSSHServer");
        if (chosenAuthMethod & SupportedAuthMethods::AUTH_PUBLICKEY)
        {
            //int result = 0;
            int result = libssh2_userauth_publickey(this->session, this->getUsername().c_str(), key, sizeofkey, SSHTunnelForwarder::publicKeyAuthComplete, 0);
            if (result != 0)
            {
                char * error = NULL;
                int len = …
Run Code Online (Sandbox Code Playgroud)

c++ ssh public-key libssh2 private-key

17
推荐指数
1
解决办法
1661
查看次数

创建SMTP服务器c#

我目前正在开发一个电子邮件服务器,当它收到一封电子邮件时,它会将它添加到一个队列中,如果它无法发送,则可以重试它,并根据收到的内容发送一个自动回复消息.

我正在寻找的是,电子邮件服务器也可以是一个smtp服务器,所以用户可以配置,让我们说php或其他电子邮件客户端使用我的电子邮件服务器smtp,它可以接收消息,然后处理它.

这是可能的,我怎么才能开始,没有在谷歌上找到太多的帮助,它需要使用mono(linux)和普通的.net(Windows).

感谢您的任何帮助,您可以提供

c# smtp

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

使用tcpdump捕获RTP和SIP流量

我需要捕获SIP和RTP流量以发现问题.我可以很好地捕获SIP消息,但是捕获RTP流量时遇到问题.

我尝试了以下但是这只是取出SIP包而没有RTP.

tcpdump -T rtp -vvv src -s 1500 -i any -w /home/lantrace_test2.pcap port 5060

我想这样做的另一种方式是rtp使用一系列UDP端口,捕获我们用于RTP流量的范围,但我找不到捕获一系列端口的方法,因此不确定tcpdump是否支持捕获端口范围

感谢您的任何帮助,您可以提供

sip rtp tcpdump

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

在c#中的String.indexof之后获取String

我目前正在使用C#开发一个应用程序,我需要在字符串中的某个字符后获取子字符串.

else if (txtPriceLimit.Text.Contains('.') && char.IsNumber(e.KeyChar))
{
    int index = txtPriceLimit.Text.IndexOf('.');
    string pennies = txtPriceLimit.Text.Substring(index, txtPriceLimit.Text.Length);
    Console.WriteLine("Pennies: " + pennies);
}
Run Code Online (Sandbox Code Playgroud)

出于某种原因,它一直在想出一个IndexOutOfRangeException.如何从索引到结尾获取字符串的内容?

感谢您的任何帮助,您可以提供.

编辑: 刚刚发现我已经尝试的各种事情似乎确实有效,除了它没有从最后一个按钮获取值到文本字段.我正在使用KeyPress事件来执行此操作.

例如,如果我输入.123,它将只打印12.然后,如果我在末尾添加4,它将打印123

c# string substring

15
推荐指数
1
解决办法
7万
查看次数

添加到ICollection

我目前正在编写一个C#项目,我需要对项目进行单元测试.对于我需要进行单元测试的方法之一,我使用ICollection,该ICollection通常从列表框的选定项中填充.

当我为方法创建单元测试时,它会创建该行

ICollection icollection = null; //Initialise to an appropriate value
Run Code Online (Sandbox Code Playgroud)

如何创建此ICollection的实例和集合中的项?

c# icollection

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

Android应用上的PayPal捐款

我目前正在开发一个应用程序,我希望能够有一个允许用户为应用程序捐款的选项.有没有一种特殊的方法来为Android做这个.我试过看谷歌,但它主要显示有关网站的paypal捐赠按钮

android

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

根据其他首选项启用首选项

我目前正在开发一个机器人应用程序,并想知道是否有一种方法可以根据另一个首选项的值启用或禁用首选项.

例如,如果我有checkbox_pref1,如果启用了这个,那么选项2/3/4被启用,如果checkbox_pref1被禁用,则option2/3/4会自动被禁用,或者这是否有一个XML属性可以完成此任务,或者它是我要做的事情需要编码来实现这种效果.

感谢您的任何帮助,您可以提供.

android android-preferences

14
推荐指数
2
解决办法
4872
查看次数