我开发了一个使用net.tcp适配器并侦听特定端口的WCF服务.我想使用普通的.net客户端连接到该服务,该客户端使用套接字将数据发送到端口并侦听响应.
当我尝试向此服务发送数据时,我收到错误:"现有连接被远程主机强行关闭".
但是,我能够通过另一个使用WCF服务的地址/绑定/合同的客户端连接该服务.
有没有一种方法可以让我通过使用普通的基于套接字的客户端与WCF服务进行通信?
我想知道是否存在用于精确时间测量的".net集成"解决方案(如功能的执行时间)?目前我正在使用Kernel32中的PerformanceCounters.
[DllImport("Kernel32.dll")]
private static extern bool QueryPerformanceCounter(
out long lpPerformanceCount);
[DllImport("Kernel32.dll")]
private static extern bool QueryPerformanceFrequency(
out long lpFrequency);
Run Code Online (Sandbox Code Playgroud) 我正在为用户创建一个小仪表板,以便他能够运行特定的工作.我正在使用Django所以我希望他能够单击一个链接来启动作业,然后将页面返回给他,并显示作业正在运行的消息.该工作的结果将在稍后通过电子邮件发送给他.
我相信我应该使用,subprocess.Popen但我不确定.所以在伪代码中,这就是我想要做的:
if job == 1:
run script in background: /path/to/script.py
return 'Job is running'
Run Code Online (Sandbox Code Playgroud) 我有一个包含两列的列表视图,我正在使用上下文菜单允许用户删除选定的行.要删除所选行,我已尝试使用以下代码但它不起作用:
private void toolStripMenuItem1_Click(object sender, EventArgs e)
{
listView1.SelectedItems.Clear();
}
Run Code Online (Sandbox Code Playgroud)
我怀疑这是因为listview有两列,但我无法找到删除所选行的解决方案.删除所有行适用于:listView1.Items.Clear();.
使用的语言:C#
理论:我想在临时文件夹中创建一个带有FileOptions.DeleteOnClose标志的文件.文件已成功创建,我将dato写入其中,下一步是启动与文件Process.Start(...)关联的应用程序,并允许用户检查文档,最后我关闭我的句柄,并尽快其他进程关闭临时文件的句柄,该文件被操作系统删除.
我的问题是其他进程无法打开文件,即使是阅读,尽管我添加了FileShare.ReadWrite | FileShare.Delete到共享模式.
有什么建议?
几个星期以来,我们一直在努力解决一个问题,即少数客户的Outlook插件因未确定的原因而被卸载和禁用."禁用"是指Outlook将以下注册表值从3更改为2,这实际上意味着下次启动时不会加载该插件:
HKEY_LOCAL_MACHINE\Software\Microsoft\Office\Outlook\Addins\[OurAddin.sProgID]\LoadBehavior
没有错误消息,也没有任何异常显示在我们的addin生成自己的日志文件中.
我已经找到以下专门处理LoadBehavior更改问题的页面:http://blogs.msdn.com/vsod/archive/2008/04/22/Troubleshooting-com-add-in-load-failures.aspx
但是,那里提出的任何可能的理由似乎都不适用:
IDTExtensibility2方法中和代码中的任何其他地方都没有未处理的异常.所有代码都包含在try/catch等效项中,并且所有异常输出仅通过OutputDebugString日志文件发送或发送到日志文件中.那么,还有什么可以导致Outlook禁用插件?
更多细节/观察:
OutputDebugString消息放入initialization部分(这是一个Delphi DLL).当插件无法加载时,它们都不会出现.只有极少数客户受此问题影响.我们有数万个安装,我们没有收到任何关于此的报告.
更新:似乎经常(但不总是)在addin被卸载之前记录的最后一件事是文本"OLE错误800A01A8"的异常.该异常被我正在使用的框架(Add-in-Express)中内置的全局异常处理程序捕获,并且看起来并不是源自我自己的代码,而现在每个方法完全包含在其中try..catch.这通常发生在我从Inspector的Activate事件处理程序设置我的CommandBarButtons的可见性之后.
所有受影响机器的共同属性:
还有一点需要注意的是,这可能也很重要(尽管可能没有我想象的那么多):
我们正在使用来自第三方供应商的许可/复制保护模块,该模块将已编译的DLL包装在"shell"中,并且仅在运行时解包.自从我发现即使在我们自己的代码被执行之前,addin被卸载,这一直是我的主要嫌疑人.但是,虽然供应商确认其代码中可能存在未处理的异常,但是由保护shell的特殊调试版本生成的日志文件显示解包过程已成功完成,并且在Outlook卸载插件之前控件已经传回受保护的DLL .因此,无论是什么导致Outlook卸载我们的插件都发生在保护shell初始化完成和我们自己的代码之间.
还有什么想法吗?
这是我之前的问题的后续跟进.
Tomcat 5.0.28有一个错误,即关闭时容器没有调用Servlet的destroy()方法.这在Tomcat 5.0.30中得到修复,但如果Servlet的destroy()方法有一个System.exit(),则会导致Tomcat windows服务抛出错误1053并拒绝正常关闭(有关详细信息,请参阅上面的链接)这个错误)
任何人都知道是否:
在Servlet的destroy()方法中调用System.exit()强制终止任何非守护进程线程是一个好主意?
如果Servlet的destroy()方法中存在System.exit(),为什么Tomcat 5.0.30和(包括Tomcat 6.xx的更高版本)无法正常关闭.
我们有一个用户表,每个用户都有一个唯一的电子邮件和用户名.我们尝试在我们的代码中执行此操作,但我们希望确保用户永远不会使用相同的电子邮件用户名插入(或更新)数据库.我添加了一个BEFORE INSERTTrigger,可防止重复用户的插入.
CREATE TRIGGER [dbo].[BeforeUpdateUser]
ON [dbo].[Users]
INSTEAD OF INSERT
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
DECLARE @Email nvarchar(MAX)
DECLARE @UserName nvarchar(MAX)
DECLARE @UserId int
DECLARE @DoInsert bit
SET @DoInsert = 1
SELECT @Email = Email, @UserName = UserName FROM INSERTED
SELECT @UserId = UserId FROM Users WHERE Email = @Email
IF (@UserId IS NOT NULL)
BEGIN
SET @DoInsert = 0
END
SELECT …Run Code Online (Sandbox Code Playgroud) 我正在开发我的第一个Ruby on Rails应用程序并且它非常大(至少对我来说;) - 数据库有大约25个表).我还在学习Ruby和Rails,我从来没有在Javascript和Ajax中写过任何东西.
我应该从一开始就将Ajax添加到我的应用程序中吗?或者将后者添加它会更好?
或者换句话说:是否(相对)容易将ajax添加到现有的Web应用程序中?
我来自Java背景,并且花了很多年时间使用Eclipse.我在使用Visual Studio(2008)时遗漏的一个功能是,当我更改类时,类视图不会自动刷新.在Eclipse中它有一个(类)'Outline'窗口,它表示当前类并显示方法/属性等,它总是更新为正在使用的类.
VS中的等效"类视图"不会根据我正在访问的当前类自动刷新.我想知道是否有人知道如何实现这一目标?
理想情况下,我希望VS视图与Eclipse类似,因为我可以得到它,但这一个功能会很棒.
先谢谢,威尔