我正在编写一个简单的会计程序,包括几个C#winform客户端和一个将数据读/写到数据库中的java服务器应用程序.其中一个要求是所有C#客户端都应该从服务器接收更新.例如,如果用户a从其C#客户端创建新发票,则其他用户应从其客户端看到此新发票.
我的经验主要是Web开发,我不知道用C#s客户端和Java servlet服务器满足这个要求的最佳方法是什么.
我最初的目的是使用Glassfish运行ActiveMQ并使用消息传递pub/sub方法,以便可以将更新推送到C#客户端.我将创建不同的主题,如newInvoice,cancelInvoice等,以区分消息类型.每条消息都只包含以JSON编码的对象.
但在我看来,这涉及到相当多的工作.鉴于我的用户群非常小(只有3或4个并发用户),在我看来应该有一些更简单的解决方案.(我不熟悉套接字编程:))
我知道这是一个客户端 - 服务器编程101个问题,但如果有经验的程序员可以指出我一些简单的解决方案,这将是很好的.
我有一个SimpleXMLElement对象$ child和一个SimpleXMLElement对象$ parent.
如何将$ child添加为$ parent的子级?有没有办法在不转换为DOM的情况下执行此操作?
addChild()方法似乎只允许我创建一个新的空元素,但是当我想添加$ child的元素也有子元素时,这没有用.我想我可能需要递归.
我正在使用Linq-to-XML编辑csproj文件,并且需要在没有<?XML?>标题的情况下保存XML .
由于XDocument.Save()缺少必要的选项,最好的方法是什么?
此代码将字符串分隔为标记并将它们存储在字符串数组中,然后将变量与第一个主页进行比较...为什么它不起作用?
public static void main(String...aArguments) throws IOException {
String usuario = "Jorman";
String password = "14988611";
String strDatos = "Jorman 14988611";
StringTokenizer tokens = new StringTokenizer(strDatos, " ");
int nDatos = tokens.countTokens();
String[] datos = new String[nDatos];
int i = 0;
while (tokens.hasMoreTokens()) {
String str = tokens.nextToken();
datos[i] = str;
i++;
}
//System.out.println (usuario);
if ((datos[0] == usuario)) {
System.out.println("WORKING");
}
}
Run Code Online (Sandbox Code Playgroud) 显然,您无法将数据推送到Web应用程序,因为HTTP在请求 - 响应周期中工作.
但是,您知道哪些黑客/方法可以模仿将数据推送给客户?
在具有Ajax事件的页面上,我想在Ajax调用返回之前禁用所有操作(以防止双重提交等问题)
我通过return false;在"锁定"页面时预先设置当前的onclick事件来尝试此操作,并在"解锁"页面时稍后删除它.但是,在"解锁"后,操作不再处于活动状态 - 您无法触发它们.
为什么这不起作用?见下面的示例页面.还有其他想法来实现我的目标吗?
示例代码:
链接和按钮都显示JS警报; 当按下锁定,然后解锁事件处理程序与以前一样,但不起作用......?!?
该代码最终将与特立尼达合作,但也应在外部工作.
<html><head><title>Test</title>
<script type="text/javascript">
function lockPage()
{
document.body.style.cursor = 'wait';
lockElements(document.getElementsByTagName("a"));
lockElements(document.getElementsByTagName("input"));
if (typeof TrPage != "undefined")
{
TrPage.getInstance().getRequestQueue().addStateChangeListener(unlockPage);
}
}
function lockElements(el)
{
for (var i=0; i<el.length; i++)
{
el[i].style.cursor = 'wait';
if (el[i].onclick)
{
var newEvent = 'return false;' + el[i].onclick;
alert(el[i].onclick + "\n\nlock -->\n\n" + newEvent);
el[i].onclick = newEvent;
}
}
}
function unlockPage(state)
{
if (typeof TrRequestQueue == "undefined" || state == TrRequestQueue.STATE_READY)
{
//alert("unlocking …Run Code Online (Sandbox Code Playgroud) 我在intel Xscale设备上运行我的c ++应用程序.问题是,当我用Valgrind运行我的应用程序offtarget(Ubuntu)时,它没有显示任何内存泄漏.
但是当我在目标系统上运行它时,它以50K可用内存开始,并在一夜之间减少到2K.如何捕捉这种泄漏,这是Valgrind没有显示出来的?
我发现很难确定类的责任:我是否必须将此方法放在这个类中,还是应该将此方法放在另一个类中?例如,假设一个带有id,forname,lastname和password的简单User类.现在你有了一个userId并且你想要forname和lastname,所以你创建了一个方法,如:public User GetUserById(int id){}.接下来,您要显示所有用户的列表,因此您创建另一个方法:public List GetAllUsers(){}.并且您想要更新,删除和保存用户.这给了我们5种方法:
public bool SaveUser(User user);
public bool UpdateUser(User user);
public bool DeleteUser(User user);
public User GetUserById(int id);
public List<User> GetAllUsers();
Run Code Online (Sandbox Code Playgroud)
所以我的问题是:你把所有这些方法放在User类中吗?或者您是否创建了另一个可以连接到数据库并包含所有这些方法的数据类(UserData类)?
我在Expander Header中有多个Texblock.我希望这些TextBlocks与Left,Right和Center对齐.
我怎样才能实现这一目标?
请帮忙...
谢谢
沙拉斯
红色文本应保持对齐,蓝色文本应居中对齐,绿色应右对齐
请复制XAMLPad.Exe中的代码
c# ×3
java ×2
oop ×2
ajax ×1
c++ ×1
events ×1
expander ×1
header ×1
html ×1
http ×1
javascript ×1
linq-to-sql ×1
memory-leaks ×1
networking ×1
php ×1
python ×1
simplexml ×1
string ×1
wpf ×1
xml ×1