问题列表 - 第19107页

使用XmlSerialization和频繁序列化的正确方法

我有一个列表框,当选择或取消选择项目时,我想将更改保存到xml文件(因此它始终是文件的最新版本,用户不需要"保存"按钮).

在测试时我偶尔会遇到这个IOException:

该进程无法访问文件"C:\ MyPath\MyFile.xml",因为它正由另一个进程使用.

这是我的XML序列化代码:

// Save an object out to the disk
public static void SerializeObject<T>(this T toSerialize, String filename)
{
    XmlSerializer xmlSerializer = new XmlSerializer(toSerialize.GetType());
    TextWriter textWriter = new StreamWriter(filename);

    xmlSerializer.Serialize(textWriter, toSerialize);
}

// Load an object from the disk
private static T DeserialzeObject<T>(String filename) where T : class
{
    XmlSerializer xmlSerializer = new XmlSerializer(typeof(T));

    try
    {
        TextReader textReader = new StreamReader(filename);
        return (T)xmlSerializer.Deserialize(textReader);
    }
    catch (FileNotFoundException)
    { }

    return null;
}
Run Code Online (Sandbox Code Playgroud)

以下是它的调用方式:

// Save off the list …
Run Code Online (Sandbox Code Playgroud)

.net c# file-io serialization xml-serialization

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

WAMP等效于JSP

我已经在我的系统中安装了WAMP服务器,这使得生活变得更加容易:-).

那么有人能告诉我什么是JSP的WAMP服务器等价物?

jsp wamp

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

如何使一个抽象基类IComparable不比较两个单独的继承类?

(C#,VS2008)在我正在研究的程序中,我有很多对象都具有ID并实现IComparable,因此各种对象的List <> - s可以通过ID轻松搜索.由于我讨厌复制/粘贴代码,我认为我会将这些功能抽象到基类,如下所示:

using System;

namespace MyProg.Logic
{
    abstract class IDObject : IComparable<IDObject> 
    {
        private int miID;

        public int ID
        {
            get { return miID; }
            set { miID = value; }
        }

        public IDObject(int ID)
        {
            miID = ID;
        }

        #region IComparable<IDObject> Members

        int IComparable<IDObject>.CompareTo(IDObject other)
        {
            return miID.CompareTo(other.miID);
        }

        #endregion
    }
}
Run Code Online (Sandbox Code Playgroud)

我看到的缺点是每个继承它的两个单独的类可以直接使用.CompareTo()进行比较,我希望强制每个继承自IDObject的类只能与完全相同类的其他类相比较.所以我希望弄清楚如何做到这一点,并想出了这个

using System;

namespace MyProg.Logic
{
    abstract class IDObject : IComparable<T> where T : IDObject
    {
        private int miID;

        public int ID
        {
            get { …
Run Code Online (Sandbox Code Playgroud)

.net c# generics inheritance

8
推荐指数
1
解决办法
3054
查看次数

window.close和chrome的问题

我试图用javascript关闭一个子窗口,在Firefox中一切正常,但在chrome中窗口不关闭

这是我正在使用的

$(document).ready(function() {
    if (window.opener && !window.opener.closed)
        window.opener.location = "http://www.website.com"
    window.close();
});
Run Code Online (Sandbox Code Playgroud)

我尝试了谷歌的建议,但无济于事.

任何有类似问题或知道解决方法的人?

javascript google-chrome chrome-ios

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

在什么情况下你应该序列化数据?什么时候不应该?

我知道序列化用于将数据类型转换为可存储的格式,用于缓存等目的.

我更具体地问的是,你应该在什么情况下实际决定存储数据(serialize()在PHP中使用,pickle在Python中使用模块等)?

假设我们有一个流量很大的网站,在我们的/blog页面中,我们使用静态内容xml文件,gettext mo文件和动态生成的数据库内容.

示例#1:

我们依赖静态内容的文件是en/blog.xml:

'<content><![CDATA[
<h1>Welcome to my blog!</h1>
<p>Lorem ipsum dolor sit amet..</p>

]]></content>'
Run Code Online (Sandbox Code Playgroud)

我们想要自己序列化这个xml文件并将其存储在缓存中吗?

示例#2:

我们还有一个动态生成的表单,通常我会假设我不会序列化任何东西,因为它是服务器端生成的和动态的,但我们的表单字段标签是国际化的,用户请求这个页面用西班牙语,因此我们使用的是翻译类.抓取以mo/csv/xml格式存储的表单字段标签.

内容contact-us.php:

<label for="first_name"><?php echo $L->_("First Name");?></label>
<input id="first_name" name="first_name" type="text">
Run Code Online (Sandbox Code Playgroud)

"First Name"消息id转换从应用程序级转换文件中提取,我们将其解析并存储在驻留在我们的转换类中的数组中.因此,我们的代码mo在每个页面请求上都不解析文件,而不是在解析mo之后序列化整个数组,然后依赖于序列化的转储,这将是理想的选择.

示例#3:

让我们在我们的博客页面上说我们正在阅读最近的5篇博文.

$posts = BlogClass->sql('SELECT blog_message, blog_author FROM blog_posts LIMIT 5 ORDER BY blog_date DESC');
Run Code Online (Sandbox Code Playgroud)

我们是否希望依赖于memcache之类的东西,只需设置一个键到sql语句的结果,它会序列化查询的结果,还是?

奖金:

如果有人能够提供有效/实际使用/错误使用序列化的具体示例,那就太好了 - 就像一个多页面,巨大的形式,可以提取数据库信息并将内容存储在会话中,或者任何示例你不得不依赖序列化..

php python serialization

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

c#编译器如何工作?

c#编译器如何工作?

它如何解析我们的整个解决方案和.cs文件...我想知道它从哪里开始以及一切如何运作......我想从asp.net的角度来看...

谢谢

c# asp.net compiler-construction visual-studio-2008

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

强制HTML textarea使用CSS使用等宽字体

如何使我的文本区域使用等宽字体?

html css

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

单选按钮的标签也可以选择吗?

根据(有点官方)本指南,我可以制作单选按钮的标签,也可以选择该单选按钮.他们说,

始终为每个复选框和单选按钮使用标签.它们将文本与特定选项相关联,提供更大的可点击区域.

不幸的是,我无法为我的表单获得此功能.这是我的代码:

<% form_for(@bet) do |f| %>
  <%= f.label :bet_type %>
  <%= f.radio_button :bet_type, "moneyline" %>
  <%= f.label :bet_type_moneyline, "Moneyline" %>
  <%= f.radio_button :bet_type, "spread" %>
  <%= f.label :bet_type_spread, "Spread" %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

我也试过这个(因为这是使用FormTagHelper而不是FormHelper的示例):

<% form_for(@bet) do |f| %>
  <%= radio_button_tag :bet_type, "moneyline" %>
  <%= label_tag :bet_type_moneyline, "Moneyline" %>
  <%= radio_button_tag :bet_type, "spread" %>
  <%= label_tag :bet_type_spread, "Spread" %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

但是,我仍然无法让它发挥作用.我正在使用rails 2.3.5和ruby 1.8.7.

感谢阅读,也许还有帮助!

html ruby web-applications ruby-on-rails

9
推荐指数
3
解决办法
7476
查看次数

C++ cin.fail()问题

运行以下代码并输入数字时,它可以正常工作.但是当输入一个字母时,程序进入一个无限循环,显示"输入一个数字(0退出):cin失败."

我的意图是处理cin失败案例并再次提示用户.

int number;
do{
    cout << "Enter a number (0 to exit): ";
    cin >> number;
    if(cin.fail()){
        cout << "cin failed." << endl;
        cin.clear();
    }else{
        cout << "cin succeeded, " << number << " entered." << endl;
    }
}while(number != 0);
Run Code Online (Sandbox Code Playgroud)

c++ iostream cin

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

sql like运算符只能获取数字

这是我认为一个简单的问题,但还没有得到解决方案.我想从这里解释的列中获取有效数字.

假设我们有一个varchar列,其中包含以下值

ABC
Italy
Apple
234.62
2:234:43:22
France
6435.23
2
Lions
Run Code Online (Sandbox Code Playgroud)

这里的问题是只选择数字

select * from tbl where answer like '%[0-9]%' 会做到但它会回来

    234.62
    2:234:43:22
    6435.23
    2
Run Code Online (Sandbox Code Playgroud)

在这里,显然,2:234:43:22是不可取的,因为它不是有效数字.

期望的结果是

        234.62
        6435.23
        2
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?

sql sql-server numbers

24
推荐指数
3
解决办法
12万
查看次数