问题列表 - 第14348页

如何解除阻塞在ServerSocket.accept()上阻塞的线程?

我有一个服务器线程与此代码:

public void run() {
    try {
        ServerSocket server;
        EneaLog.printLog("Server is running.");
        server = new ServerSocket(this.portnumber);

        while (true) {
            new EneaServerConnection(server.accept(), this.project,stopped).start();
            if (stopped) {
                EneaLog.printLog("Server safe-shutdown completed.");
                EneaLog.printLog("Hi!");
                server.close();
                return;
            }
        }
    } catch (IOException ex) {
        Logger.getLogger(EneaServer.class.getName()).log(Level.SEVERE, null, ex);
        project.getExceptionHandler().handler(ex);
    }
}
Run Code Online (Sandbox Code Playgroud)

和这样的关机方法:

public void shutdown() {
    EneaLog.printLog("Server shutdown NOW!");
    stopped = true;
}
Run Code Online (Sandbox Code Playgroud)

我希望关闭可以解除在server.accept()上等待的线程,否则我必须在服务器关闭之前等待连接.

我不能在shutdown()中执行server.close()因为我必须向注册客户端发信号通知服务器正在关闭.

有任何想法吗?

java sockets

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

我在哪里可以找到mysql的国家和州的列表

我是一名php开发人员,我正在搜索国家并以mysql数据格式列出世界列表.可以帮助我,我在哪里可以找到并下载它.

mysql sql

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

如何在MVC中将PDF返回到浏览器?

我有这个iTextSharp的演示代码

    Document document = new Document();
    try
    {
        PdfWriter.GetInstance(document, new FileStream("Chap0101.pdf", FileMode.Create));

        document.Open();

        document.Add(new Paragraph("Hello World"));

    }
    catch (DocumentException de)
    {
        Console.Error.WriteLine(de.Message);
    }
    catch (IOException ioe)
    {
        Console.Error.WriteLine(ioe.Message);
    }

    document.Close();
Run Code Online (Sandbox Code Playgroud)

如何让控制器将pdf文档返回到浏览器?

编辑:

运行此代码确实打开Acrobat但我收到一条错误消息"文件已损坏且无法修复"

  public FileStreamResult pdf()
    {
        MemoryStream m = new MemoryStream();
        Document document = new Document();
        PdfWriter.GetInstance(document, m);
        document.Open();
        document.Add(new Paragraph("Hello World"));
        document.Add(new Paragraph(DateTime.Now.ToString()));
        m.Position = 0;

        return File(m, "application/pdf");
    }
Run Code Online (Sandbox Code Playgroud)

任何想法为什么这不起作用?

c# pdf asp.net asp.net-mvc itextsharp

117
推荐指数
6
解决办法
19万
查看次数

用AppDomains替换Process.Start

背景

我有一个Windows服务,它使用各种第三方DLL来执行PDF文件的工作.这些操作可能会占用相当多的系统资源,并且在发生错误时偶尔会出现内存泄漏.DLL是围绕其他非托管DLL的托管包装器.

现行解决方案

我已经在一个案例中通过在专用控制台应用程序中包含对其中一个DLL的调用并通过Process.Start()调用该应用程序来缓解此问题.如果操作失败并且存在内存泄漏或未释放的文件句柄,则无关紧要.该过程将结束,操作系统将恢复句柄.

我想将这个相同的逻辑应用到我的应用程序中使用这些DLL的其他地方.但是,我对于在我的解决方案中添加更多控制台项目并编写更多可以调用Process.Start()并解析控制台应用程序输出的样板代码感到非常兴奋.

新解决方案

专用控制台应用程序和Process.Start()的优雅替代方案似乎是使用AppDomains,如下所示:http: //blogs.geekdojo.net/richard/archive/2003/12/10/428.aspx.

我在我的应用程序中实现了类似的代码,但单元测试并不乐观.我在一个单独的AppDomain中创建一个测试文件的FileStream,但不要处理它.然后我尝试在主域中创建另一个FileStream,并且由于未释放的文件锁而失败.

有趣的是,将空DomainUnload事件添加到工作程序域会使单元测试通过.无论如何,我担心可能创建"工人"AppDomains无法解决我的问题.

思考?

代码

/// <summary>
/// Executes a method in a separate AppDomain.  This should serve as a simple replacement
/// of running code in a separate process via a console app.
/// </summary>
public T RunInAppDomain<T>( Func<T> func )
{
    AppDomain domain = AppDomain.CreateDomain ( "Delegate Executor " + func.GetHashCode (), null,
        new AppDomainSetup { ApplicationBase = Environment.CurrentDirectory } );

    domain.DomainUnload += ( sender, e ) => …
Run Code Online (Sandbox Code Playgroud)

c# appdomain .net-3.5 process.start

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

帮助进行关键值观察

我需要KVO的一些帮助,我差不多在那里.我想要做的是在树控制器中的某些内容发生变化时触发一个方法.

所以我使用这段代码注册为KVO.

[theObject addObserver: self
            forKeyPath: @"myKeyPath"
               options: NSKeyValueObservingOptionNew
               context: NULL];
Run Code Online (Sandbox Code Playgroud)

但是,当我观察的关键路径发生变化时,如何触发方法?

还有一个额外的问题,当我将自己添加为观察者时,我希望关键路径成为我的核心数据模型中的属性,我是否已正确完成?

cocoa core-data objective-c key-value-observing cocoa-bindings

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

如何从shell提示符中检测到emacs-server正在运行?

我想让我的.bashrc检测运行emacsclient是否可以代替运行emacs.基本上:

if emacs_server_is_running; then
    EDITOR=emacsclient
    VISUAL=emacsclient
else
    EDITOR=emacs
    VISUAL=emacs
fi
Run Code Online (Sandbox Code Playgroud)

我将在emacs_server_is_running实现这一目标的功能中加入什么?

bash shell

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

我不懂K&R书中的itoa()

我正在读K&R; 到目前为止,我做得很好,但有一些功能itoa()我不明白.在这里,itoa()他们说他们自己扭转数字.例如10是01(它们反转字符串):

void itoa(int n, char s[])
{
    int i, sign;
    if ((sign = n) < 0) /* record sign */
        n = -n; /* make n positive */
    i = 0;
    do { /* generate digits in reverse order */
        s[i++] = n % 10 + '0'; /* get next digit */
    } while ((n /= 10) > 0); /* delete it */
    if (sign < 0)
        s[i++] = '-';
    s[i] = '\0';
    reverse(s);
    return; …
Run Code Online (Sandbox Code Playgroud)

c kr-c

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

T/F:在过程中使用IF语句会产生多个计划

在回答这个问题时,KM说

如果您在SQL Server 2005之上或之上,您可以使用IF在同一过程中拥有多个查询,并且每个查询都会为其保存一个查询计划(相当于旧版本中的每个查询计划),请参阅我的答案中的文章或链接到适当的部分:sommarskog.se/dyn-search-2005.html#IF

HLGEM补充道

您也可以在早期版本的SQL Server中执行此操作.

我读了Sommarskog的优秀文章,但没有看到任何有关多个计划的内容.

在以后的研究中,我读报价这里自Gert德雷珀斯:

因为SQL Server每个存储过程只允许一个执行计划...

我不知道原始文章的日期或他所指的SQL Server版本.

有没有人有一个可靠的参考资料来讨论这个,或者更好的是,一个证明这是真的测试?

sql t-sql sql-server stored-procedures

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

使用Zend中的BaseController扩展IndexController

我正在尝试使用全局基本控制器来扩展我的控制器:

class BaseController extends Zend_Controller_Action {
 // common controller actions
    public function listAction() {
        // do stuff
    }
}

class IndexController extends BaseController {
 // index controller specific actions
}

class LoginController extends BaseController {
 // login controller specific actions
}
Run Code Online (Sandbox Code Playgroud)

但我收到此错误:PHP致命错误:第3行的/var/www/Zend/project/application/controllers/IndexController.php中找不到类'BaseController'

关于如何让Zend"看到"这个控制器的任何想法?

php zend-framework controller class

10
推荐指数
2
解决办法
7793
查看次数

如何在asp classic中触发异步调用并忽略响应?

这是要点:

我打算用asp打电话,我不关心响应.我只想发起呼叫,我不希望页面等待响应.根据文档,它应该看起来像这样:

dim xmlhttp : set xmlhttp = Server.CreateObject("MSXML2.ServerXMLHTTP")
xmlhttp.Open "POST", url, true '' setting the 'asynchronous' option to 'true'
xmlhttp.setRequestHeader "Content-Type", "application/soap+xml; charset=utf-8"
xmlhttp.setRequestHeader "Content-Length", Len(XMLData)
xmlhttp.send XMLData
Run Code Online (Sandbox Code Playgroud)

这在同步调用时很有效,但当我将ansynchronous选项翻转为'true'时,什么都不会触发.我可以从互联网上收集到的是用户执行以下操作:

While xmlhttp.readyState <> 4
    xmlhttp.waitForResponse 1000
Wend
Run Code Online (Sandbox Code Playgroud)

如果你在等待回应,我是否真的疯了似乎不再是异步电话?

xmlhttp.waitForResponse 1在发送之后将该行放置正确将导致请求触发,但同样,我不想等待一秒钟.

有什么想法吗?

asynchronous serverxmlhttp asp-classic

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