小编Jef*_*ley的帖子

使用XML类属性,如何用内部文本和属性表示XML标记?

假设我有这个XML文件:

<weather>
   <temp>24.0</temp>
   <current-condition iconUrl="http://....">Sunny</current-condition>
</weather>
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用Attributes创建一个C#类来表示它,以便调用XmlSerializer并具有强类型标记访问权限.我认为结构看起来像这样:

[XmlRoot("weather")]
public class WeatherData
{
    [XmlElement("temp")]
    public string Temp { get; set; }

    [XmlElement("current-condition")]
    public CurrentCondition currentCond = new CurrentCondition();
}

public class CurrentCondition
{
    [XmlAttribute("iconUrl")
    public string IconUrl { get; set; }

    // Representation of Inner Text?
}
Run Code Online (Sandbox Code Playgroud)

代表'temp'标签是直截了当的.但是,给定像current-condition这样既有内部文本又有属性的标记,我该如何表示内部文本?

我可能过于复杂了,所以请随意提出替代方案.

c# xml xml-serialization

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

开发Web服务时J2EE和C#/ .Net之间的主要区别

在最近开始一份新工作之前,他主要是一名.NET员工; 我只在C#/ .Net中完成了Web服务的开发和使用.然而,我正在开始学习在J2EE平台上进行此操作的细节,我很好奇这种特定类型的开发中的主要差异是什么.

注意:我熟悉控制台/简单接口级别的Java语言,但没有太多使用它的"如何组建功能性Web服务架构"的经验.

更新:到目前为止很棒的答案,我只是想补充一点,然而在简单的Web服务类结构中,它们似乎没有显示太多差异; 但是从把所有这些与数据库逻辑放在一起并实际托管它的角度来看 - 让服务运行和工作/如何与之交互.

.net c# java web-services java-ee

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

浏览器关闭时运行服务器端功能

背景:我正在使用C#Code-Behind创建一个非常简单的类似聊天室的ASP.NET页面.当前用户/聊天消息显示在AJAX更新面板中的控件中,并使用计时器 - 他们每隔几秒从数据库中提取信息.

我试图找到一种简单的方法来处理用户的状态为"离线",当他们退出浏览器而不是点击"注销"按钮."离线"状态目前只是IsOnline的1个字符(y/n).

到目前为止,我已经查看了window.onbeforeunload与Javascript,设置一个隐藏的表单变量与此事件的函数 - >当然麻烦的是,我仍然要在我的Code-Behind某处做测试这个隐藏的表单变量最终的服务器端数据库查询,有效地将用户设置为脱机.

我可能完全不喜欢这个简单的问题!当然,我会欣赏任何完全不同的替代建议.

谢谢

c# asp.net onbeforeunload

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

MVC 3 Custom ValidationAttribute for CheckBoxFor在客户端触发两次

我将列出代码来解释整个情况然后提出问题的描述:

在我的View Model中,我有一个布尔属性来跟踪用户是否接受了术语:

 [MustBeTrue(ErrorMessageResourceType = typeof(ErrorMessages), ErrorMessageResourceName = "MustAccept")]
 public bool HasAuthorizedBanking { get; set; }
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我已经创建了一个自定义验证属性来处理这个名为MustBeTrue的处理Checkbox,因为[Required] 当前不适用于MVC 3中Checkbox的客户端验证

public class MustBeTrueAttribute : ValidationAttribute, IClientValidatable
{
    protected override ValidationResult IsValid(object value, ValidationContext validationContext)
    {
        if ((bool)value)
            return ValidationResult.Success;

        return new ValidationResult(String.Format(ErrorMessageString,validationContext.DisplayName));
    }

    public IEnumerable<ModelClientValidationRule> GetClientValidationRules(ModelMetadata metadata, ControllerContext context)
    {
        var rule = new ModelClientValidationRule
        {
            ErrorMessage = FormatErrorMessage(metadata.GetDisplayName()),
            ValidationType = "truerequired"
        };

        yield return rule;
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我在我的View中添加一个带有ValidationMessage的CheckBoxFor:

@Html.CheckBoxFor(model => model.HasAuthorizedBanking)
@Html.ValidationMessageFor(model => model.HasAuthorizedBanking, "", new { @class = "validationtext" …
Run Code Online (Sandbox Code Playgroud)

c# validation jquery-validate asp.net-mvc-3

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

在ASP.NET中调试时,什么可能导致LocalHost上的"连接中断"

我正在尝试使用C#运行一个新创建的ASP.NET网站,但是当我这样做时它会启动FireFox并尝试连接到http:// localhost:1295/WebSite1/Default.aspx(例如),但是10-15秒,它显示"连接中断 - 页面加载时重置了与服务器的连接." 错误.

我在过去构建的旧版ASP.NET C#页面/ Web服务中也存在此问题,实际上没有任何内容在ASP.NET开发服务器上运行.

我正在使用:Windows XP Pro SP2,Visual Studio 2008

作为参考,我也安装了SQL Server 2005 Developer Edition.

我试过了:

  • 用IE而不是Mozilla浏览它
  • 尝试2.0框架而不是3.5
  • 重新安装Visual Studio 2008

这个问题看起来似乎微不足道,我想的更多,但我还没有能够解决它!感谢有关此事的任何帮助.

c# asp.net localhost

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

Nod32导致LocalHost(ASP.NET开发服务器)"连接中断"问题

我引用自己的一个问题,我要求进一步解释:

"我正在尝试使用C#运行一个新创建的ASP.NET网站,但是当我这样做时它会启动FireFox并尝试连接到http:// localhost:1295/WebSite1/Default.aspx(例如),但之后大约10-15秒它显示"连接中断 - 页面加载时重置了与服务器的连接."错误.这个问题也出现在我过去构建的旧版ASP.NET C#页面/ Web服务中,实际上没有任何东西在ASP.NET开发服务器上运行."

这是发生的问题,也就是在我注意到每次运行网站之前,ASP.NET服务器启动的通知显示了一个端口(例如1130),以及网站加载失败时; 事实证明它试图在另一个端口上加载该站点(在这种情况下,1128).有人认为,反病毒程序可能导致这种重定向; 低,看到卸载Nod32修复了这个问题!

所以我的问题是:有没有人找到一种方法来创建一个例外或从Nod32删除此功能?

c# asp.net localhost nod32

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

如何在SQL Server 2008上运行定期进程

我已经构建了一个非常简单的类似聊天室的ASP.NET应用程序,它显示当前的在线/离线用户:

我有一个表,其中DateTime列用作TimeStamp.每次用户导致回发或类似的Get事件时,我都会更新TimeStamp.我想在服务器上创建一个某种类型的周期性过程,我可以用它来检查用户已经处于非活动状态的时间,因为我知道他们上次活动的时间.一旦他们被认为是非活动的(几分钟后说),我想设置另一列的值,将其标记为"离线".

任何建议,将不胜感激.

c# sql asp.net sql-server-2008

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

StringBuilder和ResultSet性能问题的可能原因是什么

我在Java中循环一个ResultSet; 出于测试目的,每行返回约30行,每列有17列(所有字符串数据).我正在使用StringBuilder从结果中手动构建XML String,并且它实际上花了大约36秒来完成循环以完成这些迭代.

注意:我意识到这不是从数据库中获取XML的最佳方式,甚至是从ResultSet中获取XML的最佳方法 - 但这让我对无论如何都会表现缓慢感到好奇.

更新:根据目前为止的响应,我必须解决以下问题:运行查询的时间不到一秒,我在代码的每个部分之前和之后都执行了System.currentTimeMillis()以缩小范围.36秒完全在下面的代码中.

ResultSetMetaData rsmeta = rset.getMetaData();
StringBuilder resultBuilder = new StringBuilder();
resultBuilder.append("<?xml version=\"1.0\" ?><ROWSET>");
if(numColumns != 0){   
   while (rset.next()) {
      resultBuilder.append("<ROW>");
      for (int i = 0; i <= numColumns -1;i++) {
         columnName = rsmeta.getColumnName(i+1);
         resultBuilder.append("<");
         resultBuilder.append(columnName);
         resultBuilder.append(">");
         resultBuilder.append(rset.getString(i+1));
         resultBuilder.append("</");
         resultBuilder.append(columnName);
         resultBuilder.append(">");
      }
      resultBuilder.append("</ROW>");
      numRows += 1;
   }
}
else {
   stmt.close();
   wsConn.close();
   return "No Results";
}
Run Code Online (Sandbox Code Playgroud)

更新:根据我收到的建议 - 此代码大约花费相同的时间或花费半秒钟.

StringBuilder resultBuilder = new StringBuilder();
resultBuilder.append("<?xml version=\"1.0\" ?><ROWSET>");
if(numColumns != 0){   
   while (rset.next()) { …
Run Code Online (Sandbox Code Playgroud)

java xml performance stringbuilder jdbc

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