我们的用例是一个负责帐户,会话,许可证等的数据库-需要在客户端启动时对其进行轮询,因此高可靠性至关重要。因此,我们希望在物理上独立的网络中的不同服务器之间进行复制,以防整个数据中心发生故障。我已经成功建立了对同一网络中另一台服务器的推送订阅,因此通常可以正常工作。现在需要连接到网络外部服务器。
复制不能直接在网络之间进行。Microsoft 建议使用VPN或Web复制。后者使我感到效率低下(他们的确说:“注意:Web同步旨在与便携式计算机,手持设备和其他客户端进行数据同步。Web同步不适用于大量的服务器到服务器应用程序。”)
前者VPN可以工作,但是我仍然认为它是连续运行VPN连接的不必要的复杂解决方案(更不用说增加了安全隐患)。我宁愿只运行SSH隧道。但是,我找不到任何有关如何执行此操作的文章,并且与MySQL无关。
我在订阅服务器上设置了SSH服务器,并使用PuTTY建立了从<publisher>:1434到的隧道<subscriber>:1433。但是,我无法使SQL Server Management Studio以这种方式进行连接(我不确定它是否支持:端口语法)。我还在<publisher>“ SQL Server配置管理器” 上设置了一个别名,以@@servernameof <subscriber>指向localhost:1434。连接到那似乎也不起作用。
我使用了推送订阅选项,因此我认为发布者需要连接到订阅者,而不是“倒过来”。
这两个服务器都使用默认实例,并在Windows Server 2003 SP 2上运行SQL Server 2005 SP2。订阅服务器上的SSH服务器为freeSSHd 1.2.1。
这有可能吗?我还有另一种方法可以利用SSH假装该计算机存在于同一网络中吗?还是我必须使用VPN?
例如,假设一个是在C#4中包含一个'delete'关键字.由于基于参考的系统,是否可以保证你永远不会有野性指针,但仍然可以依赖垃圾收集器?
我可以看到它可能发生的唯一方法是,如果不是对内存位置的引用,那么引用将是指向实际对象的指针表的索引.但是,我确信会有一些情况会破坏,并且有可能打破类型安全/悬挂指针.
编辑:我不是在谈论.net.我只是以C#为例.
language-agnostic theory computer-science garbage-collection
有一段时间你会得到一个错误报告,通常来自质量保证的新人,他们可能还没有完全理解该产品,这会让你挑起眉毛.
我会从一个我的团队(发展和QA)在它发生几年后仍然笑的开始.
我正在处理的产品有一个带有一组按钮的工具栏,可以切换应用程序状态的某些方面.我收到了一个错误报告,其中说"当你按下按钮[x]时,它会卡住.你必须再次推它才能让它脱落."
我需要比较两个双精度的整数部分的不等式,我现在正在这样做:
int iA = (int)dA;
int iB = (int)dB;
if( iA != iB )
{
...
}
Run Code Online (Sandbox Code Playgroud)
但我想知道是否有比这更好的方法.
谢谢.
如果我使用Math.Truncate()而不是使用强制转换为int,那么将两个得到的双精度值进行比较仍然是准确的吗?
关于匈牙利符号评论:
我自己从不使用HN,至少不像大多数人那样.但这是一种罕见的情况,其中变量的语义与其类型直接相关.我本可以选择另一种语法,如A_As_Integer和B_As_NonInteger,但那会有什么区别呢?
所以,简单的程序,计算一个阶乘数.代码如下.
int calcFactorial(int num)
{
int total = 1;
if (num == 0)
{
return 0;
}
for (num; num > 0; num--)
{
total *= num;
}
return total;
}
Run Code Online (Sandbox Code Playgroud)
现在,对于大多数数字来说,这样做工作得很好而且花花公子(肯定有更快更优雅的解决方案,但这对我有用).然而,当输入更大的数字,如250,它说得直言不讳,疯了.现在,250的前几个因子"位"是{250,62250,15126750,15438000,3813186000}以供参考.
我的代码吐出{250,62250,15126750,15438000,-481781296 },这显然是关闭的.我的第一个怀疑可能是我违反了32位整数的限制,但考虑到2 ^ 32是4294967296,我不这么认为.我唯一能想到的可能是它违反了签名的 32位限制,但它不应该能够考虑这种事情吗?如果签名是问题,我可以通过使整数无符号来解决这个问题,但这只是一个临时解决方案,因为下一次迭代产生938043756000,远高于4294967296限制.
那么,我的问题是签名限制吗?如果是这样,我可以做些什么来计算大数(虽然我已经做了一段时间的"大型英语"课程,但这可能很适合!)而不会再遇到这个问题?
我希望有一个基于Web的管理员来上传,删除ASP.NET网站上的Amazon S3中的文件和文件夹.
我很确定这样的事情已经存在,有人见过吗?
处理访问者构建自己的URL并用他们喜欢的任何内容替换我们期望的ID的最佳方法是什么?
例如:
但是用户可以轻松地将URL替换为:
https://stackoverflow.com/questions/foo
我已经考虑过将每个Controller Function参数设置为a String并使用Integer.TryParse()它们 - 如果通过那么我有一个ID并且可以继续,否则我可以将用户重定向到Unknown/not-found或index View.
Stack Overflow很好地处理它,我也想 - 你怎么做,或者你会建议什么?
我记得在某个地方读过你可以提供自己的图标,而不是让他们在编译iPhone应用程序时通过自动光泽效果传递它们,但我不记得怎么做了,不知道它在文档中的位置.这里的任何人都记得吗?
谢谢!
我有一个Web应用程序,需要基于服务器的组件定期访问POP3电子邮箱和检索电子邮件.然后该服务需要处理涉及以下内容的电子邮件:
解决这个问题的最佳方法是什么?我真的不想从头开始编写POP3客户端,但我需要能够自定义电子邮件的处理.理想情况下,我可以插入一些组件,为我进行访问和检索,返回附件数组,正文文本,主题行等,准备好我的处理...
[更新:评论]
好的,所以我花了相当多的时间研究(主要是免费的).NET POP3库,所以我想我会简要回顾下面提到的一些以及其他一些:
在免费图书馆中,我会选择C#Mail或OpenPOP.
我看了几个商业图书馆:Chillkat,Rebex,RemObjects,JMail.net.基于公司的功能,价格和印象,我可能会选择Rebex,如果我的要求发生变化,或者我遇到C#Mail或OpenPOP的生产问题,可能会在将来使用.
如果有人需要它,这是我用C#Mail和OpenPOP启用SSL的替代SslStream构造函数:
SslStream stream = new SslStream(clientSocket.GetStream(), false,
delegate(object sender, X509Certificate cert,
X509Chain chain, SslPolicyErrors errors) { return true; });
Run Code Online (Sandbox Code Playgroud)