小编Cod*_*man的帖子

如何从短划线以外的字符串中删除所有非字母数字字符?

如何从字符串和空格字符以外的字符串中删除所有非字母数字字符?

c# regex

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

如何在不丢失C#中的任何信息的情况下向异常添加消息?

我有以下代码:

catch(Exception ex)
{
    throw new FatalException("An error occurred while trying to load the XSLT file.", ex);
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,这只是吞噬了异常.我可以通过执行以下操作来解决此问题:

catch(Exception ex)
{
    throw;
}
Run Code Online (Sandbox Code Playgroud)

但我仍然希望包含自定义消息以获取有关事件记录的帮助.

如何在不丢失任何信息的情况下将此消息添加到异常中?(堆栈跟踪/调试符号等)

c# exception-handling exception

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

如何将ISO8601 TimeSpan转换为C#TimeSpan?

System.FormatException当我尝试执行以下操作时,我会得到一个(例如):

TimeSpan ts = XmlConvert.ToTimeSpan("P72H");
Run Code Online (Sandbox Code Playgroud)

我已经调查了ISO8601标准,它似乎是正确的,但无论我做什么,我都无法解析它而不会抛出异常.

谢谢!

编辑:

例外细节:

System.FormatException was unhandled by user code
HResult=-2146233033
Message=The string 'P72H' is not a valid TimeSpan value.
Source=System.Xml
Run Code Online (Sandbox Code Playgroud)

c# xml datetime parsing xml-parsing

37
推荐指数
3
解决办法
2万
查看次数

FileInfo.Extension是否返回最后的*.*模式或其他内容?

我很好奇以下是什么行为:

FileInfo info = new FileInfo("C:/testfile.txt.gz");
string ext = info.Extension;
Run Code Online (Sandbox Code Playgroud)

这会返回".txt.gz"还是".gz"?

更多扩展的行为是什么,例如".txt.gz.zip"或类似的东西?

编辑:

要清楚,我已经测试了这个.我想要解释一下这个属性.

c# string file-extension fileinfo

26
推荐指数
3
解决办法
2万
查看次数

Request.GetOwinContext在单元测试中返回null - 如何在单元测试中测试OWIN身份验证?

我目前正在尝试单独测试我正在使用OWIN进行身份验证的新WebAPI项目的身份验证,并且我在单元测试上下文中运行它时遇到问题.

这是我的测试方法:

[TestMethod]
public void TestRegister()
{
    using (WebApp.Start<Startup>("localhost/myAPI"))
    using (AccountController ac = new AccountController()
        {
            Request = new System.Net.Http.HttpRequestMessage
                (HttpMethod.Post, "http://localhost/myAPI/api/Account/Register")
        })
    {
        var result = ac.Register(new Models.RegisterBindingModel()
        {
            Email = "testemail@testemail.com",
            Password = "Pass@word1",
            ConfirmPassword = "Pass@word1"
        }).Result;
        Assert.IsNotNull(result);
    }
}
Run Code Online (Sandbox Code Playgroud)

我发现了一个AggregateException关于获得.Result具有以下内部异常:

Result Message: 
Test method myAPI.Tests.Controllers.AccountControllerTest.TestRegister 
    threw exception: 
System.ArgumentNullException: Value cannot be null.
Parameter name: context
Result StackTrace:  
at Microsoft.AspNet.Identity.Owin.OwinContextExtensions
    .GetUserManager[TManager](IOwinContext context)
at myAPI.Controllers.AccountController.get_UserManager()
...
Run Code Online (Sandbox Code Playgroud)

我通过调试确认我的Startup方法被调用,调用ConfigurAuth:

public void ConfigureAuth(IAppBuilder …
Run Code Online (Sandbox Code Playgroud)

authentication asp.net-mvc unit-testing asp.net-web-api owin

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

当使用多个WHEN MATCHED语句时,它们都执行,还是只执行一个?

如果我在MERGE语句中有多个WHEN MATCHED语句,如果它们是真的,它们都会执行吗?

我的例子:

DECLARE @X bit = NULL;

--skipping the MERGE statement, straight to WHEN MATCHED

WHEN MATCHED AND A = 1
    @X = 0;
WHEN MATCHED AND B = 1
    @X = 1;
Run Code Online (Sandbox Code Playgroud)

在4种可能性中,X的状态是什么?

A|B|X
0|0|?
0|1|?
1|0|?
1|1|?
Run Code Online (Sandbox Code Playgroud)

基本上,我很好奇每个WHEN MATCHED条款后是否有隐含的BREAK.

sql t-sql database sql-server merge

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

我应该在调用File.Delete之前调用File.Exists吗?

我有一个File.Delete像我这样的最终条款:

finally
{
    //remove the temporary file
    if(File.Exists(transformedFile))
        File.Delete(transformedFile);
}
Run Code Online (Sandbox Code Playgroud)

根据C#文档,在不存在的文件上调用File.Delete不会抛出任何异常.

是否可以删除File.Exists包装,或者是否会使我遇到可能的其他异常?

c# io exception file

10
推荐指数
3
解决办法
7826
查看次数

如何从T-SQL中的字符串中删除扩展的ASCII字符?

我需要从T-SQL中的SELECT语句中过滤掉(删除)扩展的ASCII字符.

我正在使用存储过程来执行此操作.

预期投入:

ËËËËeeeeËËËË
Run Code Online (Sandbox Code Playgroud)

预期产量:

eeee
Run Code Online (Sandbox Code Playgroud)

我发现的所有内容都是针对MySQL的.

我正在使用 :

Microsoft SQL Server Management Studio  11.0.2100.60
Microsoft .NET Framework    4.0.30319.17929
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server string ascii

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

System.Xml.XmlException:解析名称时出现意外的文件结尾

我正在使用XmlReader检索使用SqlCommand.ExecuteXmlReader.

这是我的意见

当我运行这行代码时:

XDocument currentXDoc = XDocument.Load(ktXmlReader.ReadSubtree());
Run Code Online (Sandbox Code Playgroud)

它是第一次工作,按预期读取第一个Product节点.

第二次运行时,我得到以下异常:

System.Xml.XmlException:
Message: Unexpected end of file while parsing Name has occurred. Line 1, position 2048.

Stacktrace:    at System.Xml.XmlTextReaderImpl.Throw(String res, String arg)
   at System.Xml.XmlTextReaderImpl.ParseQName(Boolean isQName, Int32 startOffset, Int32& colonPos)
   at System.Xml.XmlTextReaderImpl.ThrowTagMismatch(NodeData startTag)
   at System.Xml.XmlTextReaderImpl.ParseEndElement()
   at System.Xml.XmlTextReaderImpl.ParseElementContent()
   at System.Xml.XmlSubtreeReader.Read()
   at System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r)
   at System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r, LoadOptions o)
   at System.Xml.Linq.XDocument.Load(XmlReader reader, LoadOptions options)
Run Code Online (Sandbox Code Playgroud)

我确实发现了这个问题,这个问题与我的相似,但我很确定我的XML格式正确(我可以直接从运行的sproc中获取)

我的想法到目前为止:

  1. 2048是计算机中非常可疑的数字.我在某处XDocument或某处遇到了2KB的限制XmlReader吗?
  2. 我在循环中的ktXmlReader.Read()以某种方式跳过所有其他节点并直接进入EOF

c# xml linq xmlreader linq-to-xml

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

在Android 2.3中通过锁屏显示触摸事件的对话框

我想构建一个在锁屏上可见的对话框,可以接收触摸事件.我构建了一个窗口,WindowManager但只有TYPE_SYSTEM_OVERLAY标志显示在GB(Android 2.3.7)的锁屏上.

有没有办法创建一个在锁屏上可见的系统覆盖,并可以在Android 2.3.7中接收触摸事件?

有一个错误,FLAG_WATCH_OUTSIDE_TOUCH但我不确定这对我有什么影响.有任何想法吗?

android overlay android-windowmanager

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