declare @top int
set @top = 5
select top @top * from tablename
Run Code Online (Sandbox Code Playgroud)
可能吗?
或任何想法这样的逻辑(我不想使用动态查询)?
有没有办法确定给定的.Net类型是否为数字?例如:System.UInt32/UInt16/Double
都是数字.我想避免使用长开关盒Type.FullName
.
我有一些问题,我们正在从网上下载我正在构建的屏幕抓取工具.
在下面的代码中,从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) 我正在开发一个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.
考虑这个课程:
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. …
我有一个在多个视图页面中使用的局部视图(控件),我需要将当前视图的名称传递回控制器 - 所以如果有例如验证错误,我可以重新绘制原始视图.
解决方法是(在控制器方法中)
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)
但这不起作用.我在这里错过了什么?
谢谢.
我正在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个人资料中获取其电子邮件地址,但此数据不包含在生成的声明中.所以我考虑过这些替代方案来获取地址:
指示ASP.NET标识引擎将电子邮件地址包含在从Facebook检索的数据集中,然后转换为声明.我不知道这是否可行.
使用Facebook图形API(https://developers.facebook.com/docs/getting-started/graphapi)通过使用Facebook用户ID(包含在声明数据中)来检索电子邮件地址.但是,如果用户将其电子邮件地址设置为私有,则此操作无效.
使用Facebook图形API,但指定"我"而不是Facebook用户ID(https://developers.facebook.com/docs/reference/api/user).但是需要一个访问令牌,我不知道如何(或者根本不可能)检索ASP.NET用来获取用户数据的访问令牌.
所以问题是:
如何指示ASP.NET标识引擎从Facebook检索其他信息并将其包含在声明数据中?
或者,我如何检索生成的访问令牌,以便我自己可以询问Facebook?
谢谢!
注意:对于身份验证系统,我的应用程序使用基于此SO答案中链接的示例项目的代码:https://stackoverflow.com/a/18423474/4574
asp.net-mvc facebook-graph-api owin asp.net-mvc-5 asp.net-identity
这是你们的另一个简单的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".
谢谢你的帮助!
我正在为我创建的记录器类编写一些单元测试,我想模拟文件类.我找不到我需要用来创建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) 我有一个自定义异常类,其中包含一些其他字段.我希望在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:我已经为此实现了一个解决方案,请在下面查找我自己的答案.