我正在从WCF Web API转换为新的ASP.NET MVC 4 Web API.我有一个UsersController,我想要一个名为Authenticate的方法.我看到了如何进行GetAll,GetOne,Post和Delete的示例,但是如果我想在这些服务中添加额外的方法呢?例如,我的UsersService应该有一个名为Authenticate的方法,它会传入用户名和密码,但是它不起作用.
public class UsersController : BaseApiController
{
public string GetAll()
{
return "getall!";
}
public string Get(int id)
{
return "get 1! " + id;
}
public User GetAuthenticate(string userName, string password, string applicationName)
{
LogWriter.Write(String.Format("Received authenticate request for username {0} and password {1} and application {2}",
userName, password, applicationName));
//check if valid leapfrog login.
var decodedUsername = userName.Replace("%40", "@");
var encodedPassword = password.Length > 0 ? Utility.HashString(password) : String.Empty;
var leapFrogUsers = LeapFrogUserData.FindAll(decodedUsername, …
Run Code Online (Sandbox Code Playgroud) 我想让adb看到我的三星Fascinate手机,以便我可以通过USB将我的Android应用程序安装到手机上.我使用的是osx 10.6.7.
当我运行"adb devices"时,它不会列出我的设备,"adb usb"会说"找不到设备".
USB调试已启用,我已尝试连接存储模式和媒体模式.当我处于存储模式时,我可以在Finder中看到手机的驱动器,所以我知道usb连接有效,但是adb仍然无法找到它.
我读到,对于Mac,没有usb驱动程序,它只是应该工作,但似乎并非如此.
有什么建议?
在尝试编译解决方案时,我收到以下构建错误:
错误MSB3644找不到框架".NETFramework,Version = v4.6.2"的引用程序集.要解决此问题,请为此框架版本安装SDK或Targeting Pack,或者将应用程序重新定位到已安装SDK或Targeting Pack的框架版本.请注意,程序集将从全局程序集缓存(GAC)中解析,并将用于代替引用程序集.因此,您的程序集可能无法正确定位到您想要的框架.C:\ RPR\Dev\Libraries\Common\Common.csproj C:\ Program Files(x86)\ Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets 1111
我已经尝试安装.NET Framework 4.6.2 SDK以及4.6 Targeting Pack,但是我已经安装了它的两个错误.我也尝试过安装Visual Studio 2017,但它仍然会出现同样的错误.
有任何想法吗?
我是mongodb的新手,我正在尝试查询子对象.我有一系列国家,每个国家都有儿童城市.其中一个城市的Name属性为null,这会导致我的应用程序出错.如何查询State集合以查找名称== null的子城市?
我正在尝试动态地将验证规则添加到某些动态控件:
$("input[id*=Hours]").rules("add", "required");
Run Code Online (Sandbox Code Playgroud)
但是这行给了我以下错误:
$ .data(element.form,"validator")为null
使用validate函数定义规则静态方式可以正常工作.我究竟做错了什么?
谢谢,贾斯汀
我正在使用jquery对asp.net mvc控制器动作进行ajax调用:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult GetWeek(string startDay)
{
var daysOfWeek = CompanyUtility.GetWeek(User.Company.Id, startDay);
return Json(daysOfWeek);
}
Run Code Online (Sandbox Code Playgroud)
当会话超时时,此调用将失败,因为User对象存储在会话中.我创建了一个自定义authorize属性,以检查会话是否丢失并重定向到登录页面.这适用于页面请求,但它不适用于ajax请求,因为您无法从ajax请求重定向:
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)]
public class AuthorizeUserAttribute : AuthorizeAttribute
{
protected override bool AuthorizeCore(HttpContextBase httpContext)
{
if (!httpContext.Request.IsAjaxRequest())
{//validate http request.
if (!httpContext.Request.IsAuthenticated
|| httpContext.Session["User"] == null)
{
FormsAuthentication.SignOut();
httpContext.Response.Redirect("~/?returnurl=" + httpContext.Request.Url.ToString());
return false;
}
}
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
我在另一个线程上读到,当用户未经过身份验证并且你发出ajax请求时,你应该将状态代码设置为401(未授权),然后在js中检查它并将它们重定向到登录页面.但是,我不能让这个工作:
protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
if (Request.IsAjaxRequest() && (!Request.IsAuthenticated || User == null))
{
filterContext.RequestContext.HttpContext.Response.StatusCode = 401;
}
else
{
base.OnActionExecuting(filterContext);
} …
Run Code Online (Sandbox Code Playgroud) 我想知道是否有一个用于MongoDB的IDE,它允许您运行查询并查看结果?这将像SQL Server Management Studio中的查询分析器.我现在遇到的问题是我必须从命令提示符执行查询,例如"db.MyTable.find()",这不是一个好的解决方案.
如果答案是否定的,是否有更成熟的"无sql"解决方案,如MongoDB确实有IDE?
我想知道是否有办法以编程方式检查使用C#在私有或公共MSMQ中有多少消息?我有代码,使用try/catch中包含的peek方法检查队列是否为空,但我从未见过有关显示队列中消息数的任何信息.这对于监视是否正在备份队列非常有用.
对于我的一个ASP.NET 3.5应用程序,每次尝试构建Web应用程序时,它都会在Visual Studio 2008中引发以下构建错误:
错误165无法将文件"C:\ InOne\Common\DexProcessor\bin\Debug\DexProcessor.dll"复制到"bin\DexProcessor.dll".该进程无法访问文件'bin\DexProcessor.dll',因为它正由另一个进程使用.InVision2错误166无法将文件"C:\ InOne\Common\DexParser\bin\Debug\InOne.DexParser.dll"复制到"bin\InOne.DexParser.dll".该进程无法访问文件'bin\InOne.DexParser.dll',因为它正由另一个进程使用.InVision2错误167无法将文件"C:\ InOne\Common\AlertProcessor\bin\Debug\InOne.Invision.AlertProcessing.dll"复制到"bin\InOne.Invision.AlertProcessing.dll".该进程无法访问文件'bin\InOne.Invision.AlertProcessing.dll',因为它正由另一个进程使用.InVision2错误168无法将文件"C:\ InOne\Common\InVision.BusinessLogic\bin\Debug\InVision.BusinessLogic.dll"复制到"bin\InVision.BusinessLogic.dll".该进程无法访问文件'bin\InVision.BusinessLogic.dll',因为它正由另一个进程使用.InVision2错误169无法将文件"C:\ InOne\Common\InVision.Common\bin\Debug\InVision.Common.dll"复制到"bin\InVision.Common.dll".该进程无法访问文件'bin\InVision.Common.dll',因为它正由另一个进程使用.InVision2错误170无法将文件"C:\ InOne\Data\bin\Debug\InVision.Data.dll"复制到"bin\InVision.Data.dll".该进程无法访问文件'bin\InVision.Data.dll',因为它正由另一个进程使用.InVision2错误171无法将文件"C:\ InOne\Common\InVision.DataAccessLayer\bin\Debug\InVision.DataAccessLayer.dll"复制到"bin\InVision.DataAccessLayer.dll".该进程无法访问文件'bin\InVision.DataAccessLayer.dll',因为它正由另一个进程使用.InVision2错误172无法将文件"C:\ InOne\Common\InVision.DataAccessLayer.SqlClient\bin\Debug\InVision.DataAccessLayer.SqlClient.dll"复制到"bin\InVision.DataAccessLayer.SqlClient.dll".该进程无法访问文件'bin\InVision.DataAccessLayer.SqlClient.dll',因为它正由另一个进程使用.InVision2
这刚刚开始发生在一周前,非常烦人...我必须进入web应用程序的bin文件夹并删除pdb文件,然后它会让我删除dll的大部分时间.每隔一段时间它就不会让我这样我必须关闭Visual Studio然后它才能让我删除它们.我检查了它是锁定dll的Visual Studio(devenv).重新启动机器没有帮助.
这真的会降低我的工作效率,有什么办法可以解决这个问题吗?
如前所述,Visual Studio 2008(devenv.exe)是锁定DLL的进程.
我注意到了......当它成功编译时,它将所有DLL复制到bin文件夹中,然后将它们全部删除,然后将新的集合复制到bin中.如果不成功,则复制第一组DLL,然后失败.所以它似乎是使用bin文件夹2个东西,它应该只为1.这有帮助??