以下几段代码已经运行好几周,但今天我得到了这个例外:
System.ArgumentException: Illegal characters in path.
at System.IO.Path.CheckInvalidPathChars(String path)
at System.IO.Path.InternalCombine(String path1, String path2)
at System.IO.FileSystemEnumerableIterator`1.GetFullSearchString(String fullPath, String searchPattern)
at System.IO.FileSystemEnumerableIterator`1..ctor(String path, String originalUserPath, String searchPattern, SearchOption searchOption, SearchResultHandler`1 resultHandler)
at System.IO.DirectoryInfo.InternalGetFiles(String searchPattern, SearchOption searchOption)
at System.IO.DirectoryInfo.GetFiles(String searchPattern)
at MyCompany.GetSendDefinition(String deviceId)
...
Run Code Online (Sandbox Code Playgroud)
这是代码
public SendDefinition GetSendDefinition(string deviceId)
{
Logger.Debug("Definition for '{0}'" deviceId);
string storePath = Path.Combine(_serviceFolder, TcpFolder);
var info = new DirectoryInfo(storePath);
if (!info.Exists)
{
return null;
}
var files = info.GetFiles(deviceId + "_????.txt");
int numberOfMessage = files.Length;
var file …Run Code Online (Sandbox Code Playgroud) 我正在运行AT命令AT + KCELL以获取小区信息,并返回PLMN(公共陆地和移动网络) - 文档中的描述如下:
PLMN标识符(3个字节),由MCC(移动国家代码)和MNC(移动网络代码)组成.
好吧,这与维基百科所说的相符 - 有MCC和MNC.现在我不明白的是如何提取上述MCC和MNC值?
这是一个例子.我回来了:
32f210
Run Code Online (Sandbox Code Playgroud)
我被告知(虽然我持怀疑态度),这应该导致:
MNC: 1
MCC: 232
Run Code Online (Sandbox Code Playgroud)
但我不能为我的生活弄清楚如何从PLMN获得结果,那我该如何解析呢?
我正在使用针对SQL Server 2012数据库的DbContext POCO方法实体框架4.3.1.
我在数据库中只有两个表,它们看起来像这样:

注意:根本没有在数据库中指定外键 - 我只是在模型中强制执行关系(我无法更改数据库).
它们每个都有一行数据,如下所示:

我执行了以下查询以确保连接可以工作:

现在,我有以下实体:
public class Two
{
public long TwoId { get; set; }
public string OneId { get; set; }
public virtual One One { get; set; }
}
public class One
{
public string OneId { get; set; }
public DateTime DeliveryDate { get; set; }
public virtual ICollection<Two> Twos { get; private set; }
public void AddTwo(Two two)
{
if (two == null)
throw new ArgumentNullException("two");
if (Twos == …Run Code Online (Sandbox Code Playgroud) c# navigation-properties ef-code-first sql-server-2012 entity-framework-4.3.1
我正在尝试通过ring/compojure直接提供clj-http生成的文档.
我以为ring.util/piped-output-stream会起作用,但似乎我在这里不了解一些东西......
这个:
(defn laminat-pdf-t
[natno]
(piped-input-stream
(fn [output-stream])
(pdf
[ {:title (str "Omanimali-Kuscheltierpass" natno)
:orientation :landscape
:size :a6
:author "Omanimali - Stefanie Tuschen"
:register-system-fonts true
}
;; [:svg {} (clojure.java.io/file
;; (str "/einbuergern/" natno "/svg" ))]
[:paragraph "Some Text"] ]
output-stream)))
(defn laminat-pdf
"generate individualized cuddly toy passport page"
[natno]
{:headers {"Content-Type" "application/pdf"}
:body (laminat-pdf-t natno)})
Run Code Online (Sandbox Code Playgroud)
导致空洞的回应......
我需要做些什么不同的事情?
谢谢,
马蒂亚斯
我正在运行这段代码:
string serialized = JsonConvert.SerializeObject(somethingToSend);
Run Code Online (Sandbox Code Playgroud)
它抛出了这个异常:
MissingMethodException:无法从程序集'mscorlib,Version = 3.5.0.0,Culture = neutral,PublicKeyToken = 969DB8053D3322AC'加载类型'System.Runtime.Serialization.StreamingContext'.
这是我的配置:
这个问题的答案" 是否有一个库在Windows Mobile上用C#读取JSON? "意味着它应该可以工作.
我在调试中运行它与附加的真实设备(所以没有模拟器)我以前从这里安装了CAB文件而没有错误:
C:\ Program Files(x86)\ Microsoft.NET\SDK\CompactFramework\v3.5\WindowsCE\NETCFv35.wce.armv4.cab
应用程序运行正常,直到我点击运行上面一行的按钮,所以有人知道我缺少什么吗?
这个帖子" 用于Windows CE 5.0的Json.Compact.dll? "表明我需要安装Windows SDK,我有.鉴于它在设备上运行,我想这无论如何都不会是修复.
另一个建议是从源代码构建,但像问题的作者一样,我无法将项目文件加载到VS 2008中来执行此操作.我可以创建一个新项目并包含源文件并尝试将其编译,但在我这样做之前,我想我会问这里是否值得,或者设备上的安装是否还有其他东西丢失?或者也许我应该使用备用版本?
我从Entity Framework 4.3.1获得此异常(顺便从Visual Studio 2010中针对.NET 4构建的ASP .NET MVC 3 Web应用程序):
System.InvalidOperationException:已成功提交对数据库的更改,但更新对象上下文时发生错误.ObjectContext可能处于不一致状态.内部异常消息:无法将对象添加到对象上下文.对象的EntityKey具有ObjectStateEntry,指示对象已经参与了不同的关系.
我做了一些谷歌搜索,我来到了这里(在msdn上):
保存时出现InvalidOperationException
在Jeff Derstadt(接受的答案)中说:
然后,当您调用SaveChanges时,上下文会保留更改,然后尝试修复状态条目.当它执行此操作时,它执行"密钥修正",其中将临时EntityKeys转换为完整的EntityKeys.在这种情况下,临时密钥TKP2现在将等于P2的密钥.上下文尝试将状态管理器中的密钥条目"提升"为完整的实体条目,并在此过程中修复图形.这是因为存在冲突而发生异常的地方:P1.Spouse = P2,因此P2.Spouse应该= P1,但是因为添加了项目,所以P2.Spouse已经等于P3而且EntityReference不能有多个值.不幸的是,在数据库保存发生之前并不总是可以检测到这种情况,因为临时EntityKeys不等同于完整的EntityKeys,所以我们无法识别这样的未来类别.
我在这里想一个"肮脏"的方式,所以我的问题是这个......
因为我真的不在乎保存更改后对象图形是什么样的(这是我的请求结束所以无论如何都被丢弃了)并且数据已被插入(当我在SQL Server中查看它时,它实际上是完全正常的)在我让它继续在调试器中) - 有没有一种方法我可以告诉实体框架不执行此步骤(因此不会得到此异常,并且可能会节省一点时间)?
我正在使用Epson Perfection V700扫描仪,并在使用他们的工具进行扫描时选择以下选项:
这会产生这样的图像:

现在我的问题是 - 我实际上需要使用TWAIN .Net与此扫描仪进行交互,当我这样做时,我得到的图像是这样的:

旁白:我取消选择前面提到的两个选项并再次使用Epson进行扫描,得到的图像非常类似于我通过TWAIN获得的图像.
所以我认为也许这些是我可以在图像上自己完成的后期处理步骤(也许它们是以某种方式在硬件中完成的,我不知道).
我正在使用EmguCV,所以我首先创建了一个应用ICM的扩展方法(我很难找到这个的任何文档,所以这是一个猜测,也许我马上就错了,但我从这里得到的信息:位图转换类似乎对图像产生了影响):
public static Image<Bgr, TDepth> ApplyIcm<TDepth>(
this Image<Bgr, TDepth> source,
string sourceIcm,
string targetIcm)
where TDepth : new()
{
var target = source.CopyBlank();
using (source)
{
using (var b = source.Bitmap)
{
using (var memory = new MemoryStream())
{
b.Save(memory, ImageFormat.Bmp);
memory.Position = 0;
var bitmapImage = new BitmapImage();
bitmapImage.BeginInit();
bitmapImage.StreamSource = memory;
bitmapImage.CacheOption = BitmapCacheOption.OnLoad;
bitmapImage.EndInit();
var …Run Code Online (Sandbox Code Playgroud) 我使用的是NLog版本2.0.1,我相信它是最新版本,来自.Net 4.0控制台应用程序(使用Visual Studio 2012编写).
该应用程序很简单:
namespace NLogConsoleApplication
{
class Program
{
static void Main()
{
NLog.LogManager.GetCurrentClassLogger().Info("A testypoos");
}
}
}
Run Code Online (Sandbox Code Playgroud)
我有以下NLog.config文件:
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
throwExceptions="true"
autoReload="true"
internalLogFile="C:\Users\Public\nlog.txt"
internalLogLevel="Debug">
<targets>
<target type="Database" name="tl" >
<connectionString>data source=.\;initial catalog=NLogTest;integrated security=false;User ID=iwillnotfallforthisone;Password=goodtry</connectionString>
<commandText>
insert into TestLog2 ([LogDate], [LogLevel], [LogMessage]) values (@logDate, @logLevel, @logMessage);
</commandText>
<parameter name="@logDate" layout="${date}"/>
<parameter name="@logLevel" layout="${level}"/>
<parameter name="@logMessage" layout="${message}"/>
</target>
</targets>
<rules>
<logger name="*" minlevel="Trace" writeTo="tl" />
</rules>
</nlog>
Run Code Online (Sandbox Code Playgroud)
TestLog2表的创建方式如下:
CREATE TABLE [dbo].[TestLog2]( …Run Code Online (Sandbox Code Playgroud) 我正在使用Postgresql版本9.1.9:
select version();
"PostgreSQL 9.1.9 on armv7l-unknown-linux-gnueabihf,
compiled by gcc (Debian 4.6.3-14+rpi1) 4.6.3, 32-bit"
Run Code Online (Sandbox Code Playgroud)
我有一个简单的表(称为Test),它有一个可以为空的bigint列(称为A).该表包含以下数据:
NULL
1
2
Run Code Online (Sandbox Code Playgroud)
现在我想创建一个密集的排名(因此使用dense_rank()函数)所以我做了以下查询:
select "A", dense_rank() over (order by "A" desc) from public."Test"
Run Code Online (Sandbox Code Playgroud)
返回:
NULL,1
2,2
1,3
Run Code Online (Sandbox Code Playgroud)
有趣的是,如果我在SQL Server 2008 R2中设置完全相同的东西并运行相同的查询它返回:
2,1
1,2
NULL,3
Run Code Online (Sandbox Code Playgroud)
所以,我感兴趣的是谁是正确的,但更实际的是,我想要的是SQL Server行为,那么,我怎样才能使PostgreSQL将null视为排名的底部?
(即将NULLS排序为小于任何值)
我在dense_rank页面上注意到了这一点,但它并没有特别谈论这个函数,但也许这是一个线索?
注意:SQL标准为lead,lag,first_value,last_value和nth_value定义了RESPECT NULLS或IGNORE NULLS选项.这在PostgreSQL中没有实现:行为总是与标准的默认行为相同,即RESPECT NULLS.同样,未实现nth_value的标准FROM FIRST或FROM LAST选项:仅支持默认的FROM FIRST行为.(您可以通过反转ORDER BY排序来实现FROM LAST的结果.)
我对Haskell有点修补(并且非常享受自己),现在我想做一个零填充右移.
我小跑到了hackage并找到了Data.Bits,掀起了ghci,这就是我输入的内容(好吧,我当然没有键入-3):
:m Data.Bits
shiftR (-9) 2
-3
Run Code Online (Sandbox Code Playgroud)
Fantatstic,一个正常的右移,正如我所期待的那样.
好的,现在我真的会阅读文档.好的,我明白了unsafeShiftR,但那不是我想要的.
那么,我错过了什么?在Haskell某处可以使用零填充右移功能(即当-9右移2时返回1073741821)?