我在两个程序之间尝试了一些异步TCP套接字消息,用于传递数据,数字和/或文本.我所做的是在每条消息的开头使用一个关键字,然后用"|"分隔值.字符.所以消息可能如下所示:
"DATA | 490 | 40517.9328222222 | 1 | 6 | 11345 | 11347 | 11344 | 11345 | 106 | 40517.8494212963"
我将读缓冲区大小设置为1024,因为大多数消息都在该长度内.然而,有时我可能会快速发送许多短消息,其中几个小于1024个字符,似乎它将一次性读取.如果我发送的邮件超过1024个字符,它将被拆分.所以我正在寻找一些如何处理这个问题的建议.我应该使用一些特殊字符来开始和/或结束每条消息吗?会很感激你如何做到这一点的一些提示..
很抱歉很难制定。
我需要这样舍入:
12 -> 10
152 -> 200
1538 -> 2000
25000 -> 30000
etc.
Run Code Online (Sandbox Code Playgroud)
扭曲我的头,但看不到如何做到这一点。必须适用于任意n个数字。任何人都有一个优雅的方法吗?
C#或vb.net
我有很多通过套接字连接触发的事件更新我的程序的短线程.我的问题是我不知道如何调试这个,比如如何获得有关代码中异常发生位置的正确信息.因为我得到了例如下面的例外,这只是Immidiate Window中的打印.没有弹出窗口,它不会突出显示代码中的任何行或显示它所处的方法.
我错过了什么?看到这些东西我能做些什么?VS2010对这种情况有什么改进,如果有的话?
A first chance exception of type 'System.InvalidOperationException' occurred in System.Core.dll
A first chance exception of type 'System.Threading.ThreadAbortException' occurred in mscorlib.dll
A first chance exception of type 'System.Threading.ThreadAbortException' occurred in Krs.Ats.IBNet.dll
Run Code Online (Sandbox Code Playgroud) 在NHibernate(和FluentNHibernate)中使用SQLite需要什么?
有:
System.Data.SQLite.dll和System.Data.SQLite.Linq.dll,(ADO.NET 2.0提供程序),可从 http://sourceforge.net/projects/sqlite-dotnet2/获得
和
sqlite3.dll可用作二进制下载 http://www.sqlite.org/download.html
有什么不同?我需要两者,还是哪一个?
第一个选项安装到C:/ ... Program Files.我可以将它从那里复制到我的自定义SharedLibs文件夹,还是会引用最初安装的文件?
VS 2010,VB.NET:
似乎我必须篡改一些设置.当我现在获得异常时,它不会突出显示代码中的相应行.
第二个问题:如果例外是在库文件中,我想要弹出这个文件并突出显示正确的行.
弹出异常的标签现在显示"No Source Available".
那么什么设置控制这种行为?
尝试将SqlCe数据库转换为SQLite,我将其导出到一个.sql
文件.现在我将如何使用sqlite.exe
此.sql
文件创建数据库?
在哪里放sql3.exe
文件?
在cmd提示符或sqlite.exe
shell中使用什么命令语法?
这是我第一次尝试Fluent NH.我将连接字符串存储在Properties.Settings中;
FnhDbString = Data Source=PC\SQLEXPRESS;Initial Catalog=FNHTest;Integrated Security=True
Run Code Online (Sandbox Code Playgroud)
如果我配置Fluent,.FromAppSetting
我会得到例外:
ArgumentNullException
Value cannot be null. Parameter name: Data Source
Run Code Online (Sandbox Code Playgroud)
如果我配置Fluent,.FromConnectionStringWithKey
我会得到例外:
NullReferenceException
Object reference not set to an instance of an object.
Run Code Online (Sandbox Code Playgroud)
完整的方法:
private static ISessionFactory CreateSessionFactory()
{
return Fluently.Configure()
.Database(MsSqlConfiguration.MsSql2008
.ConnectionString(c => c
.FromAppSetting(Properties.Settings.Default.FnhDbString))
.Cache(c => c
.UseQueryCache()).ShowSql())
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<Product>())
.BuildSessionFactory();
}
Run Code Online (Sandbox Code Playgroud)
...
那么我在这里做错了什么..?
我试图通过使用多个.Mappings扩展调用手动添加映射类,但似乎只包括最后一个.那么如何添加几个选定的类映射或多个汇编?
我的流畅配置看起来通常如下:
Return Fluently.Configure() _
.Database(SQLiteConfiguration.Standard.ConnectionString(connectionString) _
.Cache(Function(c) c.UseQueryCache())) _
.Mappings(Function(m) m.FluentMappings.AddFromAssemblyOf(Of AccountMap)() _
.Conventions.Add(FluentNHibernate.Conventions.Helpers.DefaultLazy.Never())) _
.ExposeConfiguration(Function(c) InlineAssignHelper(cfg, c)) _
.BuildSessionFactory()
Run Code Online (Sandbox Code Playgroud) .net database nhibernate nhibernate-mapping fluent-nhibernate
我正在使用单级,单用户应用,FluentNHibernate.具有多个线程,由时间触发器和传入套接字消息触发器触发.
哪些要求将决定我是否可以在存储库的每个方法中创建/处置ISession,或者我是否需要在多个调用上维护ISession生命周期,可能是从程序开始到结束?
例如,延迟加载是否需要维护会话?如果我不使用lazyload,为什么我应该保持ISession?
目前我的存储库方法如下所示,但我想知道我做错了..
public class ProductRepository
{
public void Delete(Product product)
{
using (ISession session = FNH_Manager.OpenSession())
{
using (ITransaction transaction = session.BeginTransaction())
{
session.Delete(product);
transaction.Commit();
}
}
}
class FNH_Manager
{
private static Configuration cfg;
private static ISessionFactory sessionFactory;
public static void ConfigureSessionFactory()
{
sessionFactory = CreateSessionFactory();
}
public static ISession OpenSession()
{
return sessionFactory.OpenSession();
}
Run Code Online (Sandbox Code Playgroud)
EDIT1: 尝试处理"每次通话会话":
public class EmployeeRepository
{
public static void Delete(Employee employee)
{ …
Run Code Online (Sandbox Code Playgroud) 一组用户每个人都可能有一个 AccountNumber,因此为了创建一个新帐户,我会将现有的最高帐号加 1。您如何跟踪最后发布的帐号?当然,人们可以循环遍历所有帐户进行检查,但是有什么理由可以选择保留最后发布的号码或所有号码的单独表格吗?
我只是查看了几千个帐户,所以我并不担心优化。