小编Bil*_*oks的帖子

Jenkins SMTP连接遭拒绝.我错过了什么?

我在Windows 7机箱上安装了Jenkins ver 1.524,我正在尝试配置电子邮件,但"测试配置"报告错误.Jenkins在我自己的域帐户下作为服务运行.

我的设置如下:

SMTP server: smtp.corpdomain.com
Default user email suffix: @corpdomain.com
Not using authentication
Not using SSL
SMTP port: 25
Reply-To Address: tools@corpdomain.com
Charset: UTF-8
Run Code Online (Sandbox Code Playgroud)

当我测试配置时,我通常会得到以下异常:

javax.mail.MessagingException: Could not connect to SMTP host: smtp.amazon.com, port: 25;
  nested exception is:
    java.net.ConnectException: Connection timed out: connect
Run Code Online (Sandbox Code Playgroud)

然而,每隔一段时间我就收到以下信息:

com.sun.mail.smtp.SMTPSendFailedException: 553 5.1.8 <nobody@nowhere>... Domain of sender address nobody@nowhere does not exist
;
  nested exception is:
    com.sun.mail.smtp.SMTPSenderFailedException: 553 5.1.8 <nobody@nowhere>... Domain of sender address nobody@nowhere does not exist
Run Code Online (Sandbox Code Playgroud)

但是,我可以通过python脚本和java(使用javax.mail)在没有身份验证的情况下从命令行发送邮件而且没有错误,并且我能够在端口25上telnet到SMTP服务器,所以我看不到它是如何成为防火墙问题的.

另一个可能相关的注意事项:当我尝试通过Jenkins Web界面安装插件时,我收到了一个403响应URL" http://updates.jenkins-ci.org/update-center.json? uctest …

email smtp jenkins

7
推荐指数
3
解决办法
6732
查看次数

防止Flex树下降反馈

我想允许用户重新排序Flex树文件夹中的项目,但不要将这些项目移动到文件夹之外.我可以防止外部丢失成功,但我想给用户反馈(在丢弃之前),丢弃不会成功.我已经找到了很多关于放下动作的例子,但没有向用户显示正确的反馈.

根据Tree文档,我应该可以DragManager.showFeedback(DragManager.NONE)dragOver活动期间打电话,但那不起作用.下面是一个简短的示例项目.有没有办法在拖动事件期间向用户表明丢弃不会成功?

提前感谢任何解决方案!

<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
                       xmlns:s="library://ns.adobe.com/flex/spark"
                       xmlns:mx="library://ns.adobe.com/flex/mx"
                       width="354"
                       height="480">
    <fx:Script>
        <![CDATA[
            import mx.collections.ArrayCollection;
            import mx.core.IUIComponent;
            import mx.core.mx_internal;
            import mx.events.DragEvent;
            import mx.events.FlexEvent;
            import mx.managers.DragManager;

            protected function tree_dragEnterHandler(event:DragEvent):void {
                // only items can be dragged - not folders
                if (tree.selectedItem.@type == "item") {
                    DragManager.acceptDragDrop(IUIComponent(event.currentTarget));
                } else {
                    event.preventDefault();
                    DragManager.showFeedback(DragManager.NONE);
                }
            }

            protected function tree_dragOverHandler(event:DragEvent):void {
                var dropData:Object = tree.mx_internal::_dropData;
                var dragItem:XML = event.dragSource.dataForFormat("treeItems")[0];
                if (!dropData || !dropData.parent || !dragItem.parent() || dragItem.parent() != dropData.parent) {
                    trace("preventing …
Run Code Online (Sandbox Code Playgroud)

apache-flex drag-and-drop actionscript-3

6
推荐指数
1
解决办法
996
查看次数

在Python2.7中,未定义的符号导入P4API

在RHEL5(5.3)上我安装了python27,python27-devel,setuptools,gcc44,gcc44-c ++和P4PythonInstaller.所有看似安装都很好,没有报告错误.

但是,当我打开Python2.7并尝试导入P4或P4API时,我收到以下错误:

ImportError: /usr/lib64/python2.7/site-packages/P4API.so: undefined symbol: _ZNSo9_M_insertI1EERSoT_
Run Code Online (Sandbox Code Playgroud)

这看起来像一个错误的名称,但我不清楚原始名称可能是什么(除了"插入"),或它可能需要的库.

我尝试用LD_DEBUG = libs运行python,它似乎找到了它正在寻找的所有库.

有什么可能出错的想法?谷歌今晚没有帮助我.

提前致谢!

更新:

我尝试使用Linux26x86_64版本的P4API从源代码构建P4Python,但我仍然收到同样的错误.

更新2:

ldd P4API.so生成的库上运行时,我得到以下内容:

librt.so.1 => /lib64/librt.so.1 (0x00002b09f166a000)
libpython2.7.so.1.0 => /usr/lib64/libpython2.7.so.1.0 (0x00002b09f1873000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00002b09f1c36000)
libm.so.6 => /lib64/libm.so.6 (0x00002b09f1f37000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00002b09f21ba000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00002b09f23c8000)
libc.so.6 => /lib64/libc.so.6 (0x00002b09f25e5000)
/lib64/ld-linux-x86-64.so.2 (0x00002b09f10c0000)
libdl.so.2 => /lib64/libdl.so.2 (0x00002b09f293d000)
libutil.so.1 => /lib64/libutil.so.1 (0x00002b09f2b41000) 
Run Code Online (Sandbox Code Playgroud)

这是编译器输出:

API Release 2012.1
running build
running build_py
creating build
creating build/lib.linux-x86_64-2.7
copying P4.py -> build/lib.linux-x86_64-2.7
running build_ext
building 'P4API' extension …
Run Code Online (Sandbox Code Playgroud)

python centos5 p4python rhel5

6
推荐指数
1
解决办法
1133
查看次数

为什么Shell_NotifyIcon气球提示不起作用?

根据我所看到的一切,当我在应用程序窗口中单击鼠标左键时,以下C++程序应该从托盘图标显示气球工具提示,但它不起作用.谁能告诉我我错过了什么?

这是在XP的Shell32.dll 6.0版本(用DllGetVersion验证).

谢谢!

    #include "stdafx.h"
    #include "shellapi.h"

    LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);

    int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow)
    {
        MSG msg;

        WNDCLASS wc;
        memset(&wc, 0, sizeof(wc));
        wc.lpfnWndProc = WndProc;
        wc.hInstance = hInstance;
        wc.hCursor = LoadCursor(NULL, IDC_ARROW);
        wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
        wc.lpszClassName = "sysTrayTest";
        RegisterClass(&wc);

        HWND hWnd = CreateWindow("sysTrayTest", "", 
                                WS_OVERLAPPEDWINDOW,
                                CW_USEDEFAULT, 0, 500, 500, 
                                NULL, NULL, hInstance, NULL);
        if (hWnd)
        {
            ShowWindow(hWnd, nCmdShow);
            while (GetMessage(&msg, NULL, 0, 0))
            {
                TranslateMessage(&msg);
                DispatchMessage(&msg); …
Run Code Online (Sandbox Code Playgroud)

c++ winapi windows-shell tooltip notifyicon

4
推荐指数
1
解决办法
5988
查看次数

从具有'this'的基类调用时,泛型函数参数的参数类型是什么?

令人困惑的问题,我知道.鉴于以下内容:

    class Test
    {
        public static void GenericFunc<T>(T SomeType)
        {
            System.Console.WriteLine("typeof(T): " + typeof(T).Name);
            System.Console.WriteLine("SomeType.GetType(): " + SomeType.GetType().Name);
        }
    }

    public class BaseType
    {
        public void RunTest() { Test.GenericFunc(this); }
    }

    public class DerivedType : BaseType { }
Run Code Online (Sandbox Code Playgroud)

以下代码生成有趣的输出:

    DerivedType Derived = new DerivedType();
    Derived.RunTest();

    // output:
    // typeof(T): BaseType
    // SomeType.GetType(): DerivedType
Run Code Online (Sandbox Code Playgroud)

但是,这表现得如我所料:

    Test.GenericFunc(new Derived());

    // output:
    // typeof(T): DerivedType
    // SomeType.GetType(): DerivedType
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮助我理解这里的机制导致T在第一种情况下被评估为BaseType吗?

提前致谢!

c# inheritance generic-function

4
推荐指数
2
解决办法
147
查看次数

C#数据结构问题(要使用哪个集合?)

我需要实现一个大的Widget对象集合,每个对象都包含一个唯一的文件路径字符串("FilePath").我需要能够做到以下几点:

  1. 给定文件路径,快速检索Widget对象
  2. 更改Widget的文件路径而不创建新对象(多个其他对象可能包含对单个Widget的引用,并且跟踪它们会影响性能)
  3. 给定Widget参考,确定它的文件路径

我首先想到使用文件路径作为键来使用通用的SortedList,但是复制数千个对象的路径可能会很快占用内存.我考虑从对象中删除路径并仅将其存储在密钥列表中,但这会使上面的要求3难以实现.

我现在倾向于滚动从List <>派生的我自己的类,它按排序顺序添加Widget对象,并使用二进制搜索检索它们.只需从列表中删除一个对象,更改它的文件路径,然后将其添加回列表,即可完成要求2.

但我对C#比较陌生,我想在这里检查一下好心人,看看我是否错过了另一个明显的解决方案.

谢谢!

c# list sortedlist data-structures

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

为什么后台线程中的图形操作阻止主UI线程中的图形操作?

我有一个后台线程,它在给定文件夹中创建图像的灰度缩略图.我看到的问题是后台线程中的Graphics.DrawImage()调用似乎在某种程度上阻止了主UI线程上的Graphics操作.

我可能会误解我在这里看到的东西,并且在今晚晚些时候没有机会进行任何深入的剖析,尽管我不希望能找到太多.

我试图想出尽可能小的repro案例.如果您使用下面的表单替换默认项目中的表单(并在文件夹中有一些图像进行测试),您会注意到动画标签在窗口来回反弹时会断断续续.然而,如果您取消注释顶部的#define以便子控件动画而不是重绘窗口内容,它将非常顺畅地运行.

任何人都可以看到我在这里做错了或帮助我弄清楚如何在更新循环期间避免这种口吃?

//#define USE_LABEL_CONTROL

using System;
using System.Collections.Generic;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using System.Threading;
using System.Windows.Forms;
using Timer = System.Windows.Forms.Timer;

namespace ThreadTest
{
    public partial class Form1 : Form
    {
        private const string ImageFolder = "c:\\pics";
        private const string ImageType = "*.jpg";

        public Form1()
        {
            InitializeComponent();
        }

        protected override void OnLoad(EventArgs e)
        {
            this.Size = new Size(300, 300);

            string[] ImageFiles = Directory.GetFiles(ImageFolder, 
                                                        ImageType, 
                                                        SearchOption.AllDirectories);

            // kick off a thread to create grayscale thumbnails of all images …
Run Code Online (Sandbox Code Playgroud)

c# multithreading gdi+ blocking

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

C#UTF-8编码问题

我在Stack Overflow上搜索了帖子,并阅读了JoelOnSoftware关于编码的帖子,现在对编码问题有了基本的把握.但是我遇到了一些来自Windows剪贴板的字符编码问题.

可重现的测试是使用IE并从Google主页中选择并复制"广告计划"文本.

我正在使用以下C#代码将此文本从剪贴板中删除(错误检查已删除):

uint FormatId = GetRegisteredClipboardFormatId("HTML Format");
IntPtr hHtml = Win32.GetClipboardData(FormatId);
uint DataSize = Win32.GlobalSize(hHtml);
byte[] HtmlData = new byte[DataSize];
IntPtr pData = Win32.GlobalLock(hHtml);
Marshal.Copy(pData, HtmlData, 0, (int)DataSize);
Win32.GlobalUnlock(hHtml);
Run Code Online (Sandbox Code Playgroud)

剪贴板HTML数据应该是UTF-8编码的,所以我使用以下内容将数据转换为字符串:

string Content = Encoding.UTF8.GetString(HtmlData);
Run Code Online (Sandbox Code Playgroud)

但是,忽略周围的HTML标记,结果是:

"广告计划"

我做错了什么,误解了什么,或问题出在其他地方?

谢谢你的帮助!

c# encoding utf-8

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

Log4Net无法正常工作,但仅适用于发布控制台版本

我有一个使用log4net的程序集.我将此程序集加载到Windows窗体应用程序和控制台应用程序中.它在发布和调试版本中的Windows窗体应用程序和调试版本中的控制台应用程序中按预期工作,但神秘地失败了控制台应用程序的发布版本.

我在AssemblyInfo.cs文件中有以下内容:

[assembly: log4net.Config.XmlConfigurator(ConfigFileExtension="log4net", Watch = true)]
Run Code Online (Sandbox Code Playgroud)

在使用日志记录的类中,我包含以下成员变量声明:

private static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
Run Code Online (Sandbox Code Playgroud)

我的Library.dll.log4net配置文件如下所示:

<?xml version="1.0" encoding="utf-8" ?>
<log4net>
  <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender" >
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
    </layout>
  </appender>
  <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender" >
    <file value="Library.log" />
    <appendToFile value="true" />
    <rollingStyle value="Once" />
    <maxSizeRollBackups value="5" />
    <staticLogFileName value="true" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
    </layout>
  </appender>
  <root>
    <level value="INFO" />
    <appender-ref ref="ConsoleAppender" />
    <appender-ref ref="RollingFileAppender" />
  </root>
</log4net> …
Run Code Online (Sandbox Code Playgroud)

c# log4net console-application release-builds

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