小编Kon*_*man的帖子

在SQL Server的select语句中使用带有TOP的变量而不使其动态化

declare @top  int
set @top = 5
select top @top * from tablename
Run Code Online (Sandbox Code Playgroud)

可能吗?

或任何想法这样的逻辑(我不想使用动态查询)?

sql t-sql sql-server sql-server-2005

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

C# - 如何确定Type是否为数字

有没有办法确定给定的.Net类型是否为数字?例如:System.UInt32/UInt16/Double都是数字.我想避免使用长开关盒Type.FullName.

.net c# types

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

WebClient.DownloadString()返回具有特殊字符的字符串

我有一些问题,我们正在从网上下载我正在构建的屏幕抓取工具.

在下面的代码中,从Web客户端下载字符串方法返回的字符串为少数(不是所有)网站的源下载返回一些奇怪的字符.

我最近添加了http标头,如下所示.以前调用相同的代码而没有标题达到相同的效果.我没有尝试过'Accept-Charset'标题的变体,除了基础知识之外,我对文本编码知之甚少.

我引用的字符或字符序列是:

"  "

" Â "

在Web浏览器中使用"查看源"时,看不到这些字符.可能导致这种情况的原因是什么?如何纠正这个问题?

string urlData = String.Empty;
WebClient wc = new WebClient();

// Add headers to impersonate a web browser. Some web sites 
// will not respond correctly without these headers
wc.Headers.Add("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-GB; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12");
wc.Headers.Add("Accept", "*/*");
wc.Headers.Add("Accept-Language", "en-gb,en;q=0.5");
wc.Headers.Add("Accept-Charset", "ISO-8859-1,utf-8;q=0.7,*;q=0.7");

urlData = wc.DownloadString(uri);
Run Code Online (Sandbox Code Playgroud)

.net c# asp.net character-encoding special-characters

62
推荐指数
3
解决办法
6万
查看次数

System.ServiceModel.Web.dll在哪里?

我正在开发一个Windows服务,它公开了一个旨在由Silverlight应用程序使用的WCF服务,如本博客文章中所述:http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2008/03/27/10291的.aspx

我面临的问题是我需要使用在程序集中定义的WebInvoke属性,System.ServiceModel.Web.dll但是当我尝试在项目中添加对该程序集的引用时(通过使用Visual Studio的"添加引用"对话框 - .NET选项卡),没有具有该名称的程序集.

所以,我做错了什么,这个程序集不是标准.NET Framework的一部分,或者它是Visual Studio中的一个错误?顺便说一句,我正在使用VS2010 beta 2,该项目的目标是.NET Framework 4.

.net wcf visual-studio-2010 visual-studio

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

Moq - 如何验证通过setter设置的属性值

考虑这个课程:

public class Content
{      
   public virtual bool IsCheckedOut {get; private set;}
   public virtual void CheckOut()
   {
      IsCheckedOut = true;
   }

   public virtual void CheckIn()
   {
      //Do Nothing for now as demonstrating false positive test.
   }
}
Run Code Online (Sandbox Code Playgroud)

Checkin方法故意为空.现在我有一些测试方法来验证调用每个方法的状态.

[TestMethod]
public void CheckOutSetsCheckedOutStatusToTrue()
{
    Content c = new Content();    
    c.CheckOut();
    Assert.AreEqual(true, c.IsCheckedOut); //Test works as expected
}

[TestMethod]
public void CheckInSetsCheckedOutStatusToFalse()
{
    Content c = new Content();
    c.CheckIn();
    Assert.AreEqual(false, c.IsCheckedOut); //Test does not work as expected
}
Run Code Online (Sandbox Code Playgroud)

第二次测试通过了错误的原因.那么我如何使用mocking(moq)来验证CheckIn是否设置了IsCheckedOut属性?

谢谢.

编辑

澄清一下:我有一个名为CheckIn()的方法,其工作是将IsCheckedOut状态设置为false. …

.net c# tdd moq mocking

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

在ASP.NET MVC中检索当前视图名称?

我有一个在多个视图页面中使用的局部视图(控件),我需要将当前视图的名称传递回控制器 - 所以如果有例如验证错误,我可以重新绘制原始视图.

解决方法是(在控制器方法中)

var viewName = "Details"; // or whatever
ViewData["viewName"] = viewName;
return(View(viewName, customer));
Run Code Online (Sandbox Code Playgroud)

然后在部分本身中,将其渲染为

<input type="hidden" name="viewName" 
    value="<%=Html.Encode(ViewData["viewName"])%>" />
Run Code Online (Sandbox Code Playgroud)

问题是 - 是否有一些属性或语法我可以直接检索它而不是从控制器设置它?我试过了明显的事:

<input type="hidden" name="viewName" 
    value="<%=Html.Encode(this.Name)%>" />
Run Code Online (Sandbox Code Playgroud)

但这不起作用.我在这里错过了什么?

谢谢.

.net asp.net-mvc

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

如何使用ASP.NET身份(OWIN)访问Facebook私人信息?

我正在ASP.NET MVC 5中开发一个网站(目前使用RC1版本).该网站将使用Facebook进行用户身份验证和检索初始个人资料数据.

对于身份验证系统,我使用的是基于OWIN的新ASP.NET身份引擎(http://blogs.msdn.com/b/webdev/archive/2013/07/03/understanding-owin-forms-authentication-in-mvc -5.aspx),因为它极大地简化了与外部提供商进行身份验证的过程.

问题是,一旦用户首次登录,我想从Facebook个人资料中获取其电子邮件地址,但此数据不包含在生成的声明中.所以我考虑过这些替代方案来获取地址:

  1. 指示ASP.NET标识引擎将电子邮件地址包含在从Facebook检索的数据集中,然后转换为声明.我不知道这是否可行.

  2. 使用Facebook图形API(https://developers.facebook.com/docs/getting-started/graphapi)通过使用Facebook用户ID(包含在声明数据中)来检索电子邮件地址.但是,如果用户将其电子邮件地址设置为私有,则此操作无效.

  3. 使用Facebook图形API,但指定"我"而不是Facebook用户ID(https://developers.facebook.com/docs/reference/api/user).但是需要一个访问令牌,我不知道如何(或者根本不可能)检索ASP.NET用来获取用户数据的访问令牌.

所以问题是:

  1. 如何指示ASP.NET标识引擎从Facebook检索其他信息并将其包含在声明数据中?

  2. 或者,我如何检索生成的访问令牌,以便我自己可以询问Facebook?

谢谢!

注意:对于身份验证系统,我的应用程序使用基于此SO答案中链接的示例项目的代码:https://stackoverflow.com/a/18423474/4574

asp.net-mvc facebook-graph-api owin asp.net-mvc-5 asp.net-identity

31
推荐指数
4
解决办法
3万
查看次数

如何在XAML中填充List <string>?

这是你们的另一个简单的XAML问题:

我可以在XAML中填写一个"复杂"列表,如:

<local:People x:Key="family">
    <local:Person Name="The Babe" Age="45"/>
    <local:Person Name="Greggles" Age="41"/>           
    <local:Person Name="Elmo" Age=10"/>
</local:People>
Run Code Online (Sandbox Code Playgroud)

但在以下情况下:

public class FileNames : List<string> { }
Run Code Online (Sandbox Code Playgroud)

......这些字符串是如何添加的?

<local:FileNames x:Key="fileNames">
        ???
</local:FileNames>
Run Code Online (Sandbox Code Playgroud)

顺便说一下你可以认识一下这个例子,改编自Chris Sells的"Programming WPF".

谢谢你的帮助!

.net wpf xaml

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

如何MOQ System.IO.FileInfo类...或没有接口的任何其他类?

我正在为我创建的记录器类编写一些单元测试,我想模拟文件类.我找不到我需要用来创建MOQ的接口...那么如何在没有接口的情况下成功MOQ一个类?

我还不清楚如何在没有可用接口的情况下使用依赖注入:

private FileInfo _logFile;

public LogEventProcessorTextFile(FileInfo logFile) {
    _logFile = logFile;
}
Run Code Online (Sandbox Code Playgroud)

当我真的想做这样的事情时(注意IFileInfo而不是FileInfo):

private IFileInfo _logFile;

public LogEventProcessorTextFile(IFileInfo logFile) {
    _logFile = logFile;
}
Run Code Online (Sandbox Code Playgroud)

.net c# unit-testing interface moq

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

C#:覆盖自定义异常的ToString()方法

我有一个自定义异常类,其中包含一些其他字段.我希望在ToString()方法中写出这些,但如果我实现自己的ToString(),我会放弃一些其他有用的东西(比如编写异常类型名称,内部异常数据和堆栈跟踪).

ToString()为此类异常实现自己的方法的最佳方法/模式是什么?理想情况下,它应该重用现有机制,但格式与默认ToString()实现类似.

更新:将我的自定义字段前置或附加到base.ToString()文本不是理想的恕我直言,例如

PimTool.Utilities.OERestServiceUnavailableException: test ---> System.InvalidOperationException: inner message
   --- End of inner exception stack trace ---
   at PimTool.Tests.Services.OE.OERestClientTests.ExceptionsLogging() in D:\svn\NewPimTool\PimTool.Tests\Services\OE\OERestClientTests.cs:line 178, 
   StatusCode=0, message='test', requestId='535345'
Run Code Online (Sandbox Code Playgroud)

表示自定义字段写在(可能很长)的异常描述的末尾.另一方面,我希望异常类型是描述中写的第一个信息.

更新2:我已经为此实现了一个解决方案,请在下面查找我自己的答案.

.net c# exception tostring

23
推荐指数
5
解决办法
9949
查看次数