小编Kyl*_*son的帖子

将控制台应用程序转换为服务?

我正在寻找不同的优势/劣势方法,将我们长期使用的控制台应用程序转换为Windows服务.我们为ActiveMQ使用了一个叫做java服务包装器的东西,我相信人们告诉我你可以用它包装任何东西.那并不是说你应该用它包装任何东西; 我们在这个设置中遇到了问题.

控制台应用程序是一个.NET控制台应用程序,默认情况下会将大量信息记录到控制台,尽管这是可配置的.

任何推荐?

我们应该在Visual Studio中将其重建为服务吗?使用包装?哪一个?

.net windows-services

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

CultureInfo:ASP.NET/MVC上的Haitian Creole和.NET 3.5?

它已经轻松搞定加入到我们的网站法语和西班牙语翻译,但我们要添加海地克里奥尔语现在有没有为它文化的支持.完成这项工作的最佳方法是什么?

asp.net-mvc .net-3.5

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

将枚举作为Dictionary集合中的键的问题

我有一个场景,我使用Dictionary来保存某个系统接受的事务类型列表.Dictionary中的键是一个枚举字段,值是一个int.

在系统的某个时刻,我们将要做这样的事情:

sqlCommand.Parameters.AddWithValue("@param", LookupDictionary[argument.enumField]);
Run Code Online (Sandbox Code Playgroud)

当我们在字典中查找字段时,我们将获得正确的整数值以提供给数据库.我已经考虑过为此实际使用enum int值,但这并不完全正确.我们正在与一个系统交互,我们需要提供一个神奇的数字来表示我们正在进行的更新.

上面的代码工作得很好.我有一个初始化方法,添加已知的类型:

LookupDictionary = new Dictionary<mynamespace.myproject.myclass.enumType, int>();
LookupDictionary.Add(enumType.entry1, 4);
LookupDictionary.Add(enumType.entry2, 5);
LookupDictionary.Add(enumType.entry3, 6);
Run Code Online (Sandbox Code Playgroud)

此代码也可以正常工作.

但是,在我真正开始使用LookupDictionary之前,我确认正在进行的请求实际上设置为我们支持的枚举值.这是LookupDictionary的主要原因,它包含有效的(有这种方法无法使用的有效枚举条目).

这是不起作用的代码:系统无法识别枚举匹配.在调试器中,我可以看到LookupDictionary中的条目列表确实显示它具有entry2的值 - 它只是像那样调用它,entry2.另一方面,传入的enumField具有完整的命名空间; mynamespace.myproject.myclass.enumType.entry2 - 我想这就是为什么它不会看到它们是相同的.

if (!LookupDictionary.ContainsKey(argument.enumField))
{
    throw new InvalidOperationException("argument.enumField not valid in blahMethod.");
}
Run Code Online (Sandbox Code Playgroud)

我是否提到过这是通过WCF服务传递的?但我没有使用自动生成的代理......线路两端的两个项目共享类型作为项目引用,我在代码中构建了我的通道客户端.

有任何想法吗?我做错了吗?使用Enums作为键的字典不能很好地工作吗?这是WCF吗?

注意:感谢有关将枚举设置为包含magic int的建议.然而,我想在一个配置中设置它们,因为可能的是"魔术数字"4 5和6可能会改变.因此,如果我按照建议将它们编码到枚举中:

public enum MyEnum
{
    MyValue1 = 4,
    MyValue2 = 5,
    MyValue3 = 6
}
Run Code Online (Sandbox Code Playgroud)

我失去了在运行时编写一个设置未来幻数的方法的能力; 相反,它需要更改代码.

c# wcf enums dictionary

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

VB.NET XMLWriter:如何更改标题中的内容?

我需要制作一个XML文件 - 合作伙伴对标题很贴切.显然,标题必须是这样的:

<?xml version="1.0"?>
Run Code Online (Sandbox Code Playgroud)

但每当我创建一个XML文件时,我都会得到如下无关的属性:

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
Run Code Online (Sandbox Code Playgroud)

我的黑客想要停止使用XMLWriter来制作文件,以便我可以更好地控制标题; "没问题,我只是编写一个循环,将自己的XML标记作为StreamWriter或其他东西,忘记这个XMLWriter对象......"但我必须承认,到目前为止,XMLWriter的使用相当优雅; 肯定有一些东西,我可以更改XMLWriterSettings对象,说"停止将自定义属性放入XML标题",对吧?

这是相关的VB代码:

    Dim settings As New XmlWriterSettings()
    settings.Indent = True
    settings.IndentChars = "    "
    settings.NewLineChars = "\n"
    Using writer As XmlWriter = XmlWriter.Create(strFileName, settings)
            writer.WriteStartDocument(True)
            For Each kvp As KeyValuePair(Of String, String) In dictArguments

                 Dim key As String = kvp.Key
                 Dim value As String = kvp.Value

                 writer.WriteStartElement(key)
                 writer.WriteString(value)
                 writer.WriteEndElement()

            Next

    End Using
Run Code Online (Sandbox Code Playgroud)

工作完美; 但我找不到控制标题的方法.我当然可以找到一种完全删除它的方法,但这不是我们想要做的.

编辑:谢谢你的帮助; 到目前为止,一旦我们删除了WriteStartDocument,它现在不再显示standalone = yes.但我不能让它停止添加编码.有任何想法吗?

vb.net xmlwriter

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

Python Bottle模板问题:AttributeError("'dict'对象没有属性'city'",)

作为一个学习项目,我使用MongoDB with Bottle作为Web服务.我想要做的是从MongoDB获取结果并将其显示在模板中.这是我想要的模板输出:

output.tpl
<html><body>
%for record in records:
   <li>{{record.city}} {{record.date}}
%end
</body></html>
Run Code Online (Sandbox Code Playgroud)

我可以把数据拉出来没问题:

result = db.records.find(query).limit(3)
return template('records_template', records=result)
Run Code Online (Sandbox Code Playgroud)

但这导致根本没有输出 - 一些调试显示结果是某种光标:

<pymongo.cursor.Cursor object at 0x1560dd0>
Run Code Online (Sandbox Code Playgroud)

所以我试图将其转换为模板所需的内容:

result = db.records.find(query).limit(3)
viewmodel=[]
for row in result:
  l = dict()
  for column in row:
    l[str(column)]=row[column]
  viewmodel.append(l)
return template('records_template', records=viewmodel)
Run Code Online (Sandbox Code Playgroud)

调试显示我的视图数据看起来没问题:

[{'_id': ObjectId('4fe3dfbc62933a0338000001'),
  'city': u'CityName',
  'date': u'Thursday June 21, 2012'},
 {'_id': ObjectId('4fe3dfbd62933a0338000088')
  'city': u'CityName',
  'date': u'Thursday June 21, 2012'},
 {'_id': ObjectId('4fe3dfbd62933a0338000089')
  'city': u'CityName',
  'date': u'Thursday June 21, 2012'}]
Run Code Online (Sandbox Code Playgroud)

但这是我得到的回应.有什么想法吗?

AttributeError("'dict'对象没有属性'city'",)

编辑:我添加了关于l [str(column)] …

python mongodb bottle

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