我正在使用Visual Studio 2017中的cordova应用程序,我正在尝试使用文件插件访问文件系统.不幸的是,当使用"在浏览器中模拟"(使用cordova-simulate)调试应用程序时,这不起作用.
'SecurityError:确定某些文件对Web应用程序内的访问不安全,或者对文件资源进行了太多调用.提出错误.
我想如果必须将'--allow-file-access-from-files'选项传递给chrome,但我不知道怎么做,因为chrome在新窗口中自动启动,我找不到任何配置选项在Visual Studio中.
visual-studio cordova visual-studio-cordova visual-studio-2017
我有这个sql:
UPDATE JOBMAKE SET WIP_STATUS='10sched1'
WHERE JBT_TYPE IN (SELECT JBT_TYPE FROM JOBVISIT WHERE JVST_ID = 21)
AND JOB_NUMBER IN (SELECT JOB_NUMBER FROM JOBVISIT WHERE JVST_ID = 21)
Run Code Online (Sandbox Code Playgroud)
它一直有效,直到我把它变成参数化查询:
UPDATE JOBMAKE SET WIP_STATUS='10sched1'
WHERE JBT_TYPE IN (SELECT JBT_TYPE FROM JOBVISIT WHERE JVST_ID = @jvst_id)
AND JOB_NUMBER IN (SELECT JOB_NUMBER FROM JOBVISIT WHERE JVST_ID = @jvst_id)
Duplicated parameter names are not allowed. [ Parameter name = @jvst_id ]
Run Code Online (Sandbox Code Playgroud)
我试过这个(我认为它可以在SQL SERVER 2005中使用 - 虽然我没有尝试过):
UPDATE JOBMAKE
SET WIP_STATUS='10sched1'
FROM JOBMAKE JM,JOBVISIT JV
WHERE …Run Code Online (Sandbox Code Playgroud) 我有这种格式的DateTime varchar:2005-08-08T00:00:00 + 01:00.
编辑 这是一个总结答案,拼凑起来的其他人输入:
您可以将其转换为本地时间或utc,如下所示:
DECLARE @d VARCHAR(25)SET @d ='2007-08-08T00:01:00 + 01:00'SET @d ='2007-08-08T00:01:00-01:00'SET @d =' 2007-08-08T00:01:00 + 05:30'
选择@d作为输入,CONVERT(DATETIME,LEFT(@ d,19),126)AS LocalDate,DATEADD(MINUTE,-CAST((SUBSTRING(@ d,20,1)+ RIGHT(@ d,2))AS INT),DATEADD(HOUR,-cast(SUBSTRING(@d,20%,3)AS INT),CONVERT(DATETIME,LEFT(@d,19),126)))作为UtcDate WHERE @d LIKE' _ - - _T__ :: [+ - ] : '
结果:
Input LocalDate UtcDate
------------------------- ----------------------- -----------------------
2007-08-08T00:01:00+01:00 2007-08-08 00:01:00.000 2007-08-07 23:01:00.000
2007-08-08T00:01:00-01:00 2007-08-08 00:01:00.000 2007-08-08 01:01:00.000
2007-08-08T00:01:00+05:30 2007-08-08 00:01:00.000 2007-08-07 18:31:00.000
Run Code Online (Sandbox Code Playgroud) 从MVC4迁移到MVC5并且也想使用ASP.NET Identity但是我很难找到任何涵盖我认为我需要迁移Identity的所有内容的东西.将现有网站从SimpleMembership迁移到ASP.NET Identity建议我需要做的就是创建ApplicationUser和迁移数据,其他Web搜索给我提供sql脚本和passowrd哈希建议.但是在我跳入之前还有其他松散的目标我想清理一下.
首先 - 我有代码在我的Seed方法中初始化会员系统:
if (!WebSecurity.Initialized)
WebSecurity.InitializeDatabaseConnection(Config.ConnectionStringName,
Config.UsersTableName,
Config.UsersIDColumn,
Config.UserNameColumn,
autoCreateTables: true);
Run Code Online (Sandbox Code Playgroud)
那需要走对吗?
第二 - 看起来我需要一个IdentityDbContext.那么我应该改变现有的上下文来继承它吗?
即代替我当前的代码public class SID2013Context : DbContext执行此操作:public class SID2013Context : IdentityDbContext<ApplicationUser>
这会生成一个迁移,创建我需要支持ASP.NET身份的新表吗?
一旦我完成了,我应该能够拉入AccountController,视图,ViewModel并启动为MVC5项目生成的代码.
任何人都可以在这里回答具体问题和/或指向更好的资源吗?
asp.net-mvc-4 simplemembership asp.net-mvc-5 asp.net-identity
我们公司的某个人决定使用3个视图来支持网页,他们必须包含相同列的子集.所以我有这样的定义:
CREATE VIEW EmailReceivedView
AS
SELECT
dbo.EmailReceived.ID
, ...lots of columns
FROM dbo.EmailReceived
LEFT OUTER JOIN ...more tables
--Emails related to reviews
CREATE VIEW ReviewEmailReceivedView
AS
SELECT RV.ReviewID, V.*
FROM ReviewEmailReceived RV
INNER JOIN EmailReceivedView V ON EmailReceivedID = V.ID
--Emails related to grants
CREATE VIEW GrantEmailReceivedView
AS
SELECT GV.GrantID, V.*
FROM GrantEmailReceived GV
INNER JOIN EmailReceivedView V ON GV.EmailReceivedID = V.ID
Run Code Online (Sandbox Code Playgroud)
现在我在依赖视图中做V.*的原因是,如果支持视图发生更改,我希望依赖视图反映更改.但是,除非我将脚本作为ALTER脚本重新运行,否则在SQL Server中不会发生这种情况.为什么不?有没有办法确保支持视图的更改自动反映在依赖项中?
这是在MVC 4中支持的默认AccountController中更改密码的代码:
// ChangePassword will throw an exception rather
//than return false in certain failure scenarios.
bool changePasswordSucceeded;
try
{
string userName = User.Identity.Name;
changePasswordSucceeded = WebSecurity.ChangePassword(userName,
model.OldPassword,
model.NewPassword);
}
catch (Exception)
{
changePasswordSucceeded = false;
}
if (changePasswordSucceeded)
{
return RedirectToAction("Manage", new { Message = ManageMessageId.ChangePasswordSuccess });
}
else
{
ModelState.AddModelError("",
"The current password is incorrect or the new password is invalid.");
}
Run Code Online (Sandbox Code Playgroud)
我的问题是消息不清楚.如果当前密码不正确那么没关系,但如果新密码无效,我想向用户提供更好的消息,告诉他们出了什么问题,我想更好地理解"失败情景",以便我可以定制消息.
这里的文档是关于异常的具体内容,我不认为这些内容应该在Action中被吞并并报告为无效密码.
那么为什么这里有"新密码无效"的可能性呢?如果我在我的应用程序中仅使用没有OAuth的SimpleMembershipProvider,我可以将其删除吗?
编辑: NB此数据注释也出现在"RegisterModel"类中,因此这里也有密码有效性检查
[StringLength(100,
ErrorMessage = "The {0} must be at least {2} …Run Code Online (Sandbox Code Playgroud) 该ObjectContext.GetObjectType方法应该返回"与指定类型的代理对象关联的POCO实体的实体类型"
那么为什么我的代码只返回代理?
我正在使用实体框架6发布候选版
//Soft delete
var e = Context.Set<T>().Find(id);
e.IsDeleted = true;
InsertOrUpdate(e);
Type t = System.Data.Objects.ObjectContext.GetObjectType(e.GetType());
string name = t.Name;
//Property_6C887DE7274181E6E99D6FCF2C21BDD59E226F99B0064F59954E70062C135331
//Surely I shouldn't have to use Substring here?
name = name.Substring(0, name.IndexOf("_")).ToSpacedTitleCase();
string message = name + " deleted";
Run Code Online (Sandbox Code Playgroud) 在恢复过程中,我已经使用不同的实例名称卸载并重新安装了几次Sql Server 2008 R2.我已恢复数据库,并希望以之前的方式配置报表服务器.当我尝试应用Web服务URL的默认值时,我的问题出现在Reporting Services配置管理器中.我收到此错误:
保留网址http:// +:80网址已被保留.
如何取消保留网址以便将其应用于新安装?
我使用ionic创建了一个应用程序:
ionic start MyFirstApp blank
cd MyFirstApp
ionic serve
ionic platform add android
ionic build android
ionic emulate android
Run Code Online (Sandbox Code Playgroud)
除了模拟器步骤外,一切都很成功.模拟器启动,但我得到"不幸的是,MyFirstApp已停止".一切都是全新的直接开箱即用,代码没有变化.
接下来是什么?我如何调试出错的地方?
编辑
这是我打电话时显示的输出ionic build android:
C:\Users\Colin\Documents\Ionic\MyFirstApp>ionic build android
add to body class: platform-android
Running command: C:\Users\Colin\Documents\Ionic\MyFirstApp\platforms\android\cordova\build.bat
Buildfile: C:\Users\Colin\Documents\Ionic\MyFirstApp\platforms\android\build.xml
-set-mode-check:
-set-debug-files:
-check-env:
[checkenv] Android SDK Tools Revision 23.0.2
[checkenv] Installed at C:\Program Files\Eclipse\adt-bundle-windows-x86_64-20140702\sdk
-setup:
[echo] Project Name: MyFirstApp
[gettype] Project Type: Application
-set-debug-mode:
-debug-obfuscation-check:
-pre-build:
-build-setup:
[getbuildtools] Using latest Build Tools: 20.0.0
[echo] Resolving Build Target for MyFirstApp...
[gettarget] …Run Code Online (Sandbox Code Playgroud) 该ngChange指令需要ngModel存在,但直接绑定到我的控制器中的字段很困难,因为逻辑有点复杂。
我有一份问卷,其中包含从数据库中检索到的问题。每个问题可能已经有了答案,我可以通过调用正在查看的调查中的方法来检索答案:
vm.survey.GetCurrentAnswerIDForQuestionID(q.ID)
更新时,很难直接绑定到属性,因为如果答案不存在,我需要创建一个实体来存储它,如果存在,则更改或删除它(当用户选择空选项时) )。
所以我认为我需要调用一个方法。像这样:
vm.survey.SetCurrentAnswerIDForQuestionID(q.ID, answerid)
我可以使用此标记正确显示选择列表:
<select ng-init="answerid = vm.survey.GetCurrentAnswerIDForQuestionID(q.ID)">
<option value=""></option>
<option ng-repeat="va in q.ValidAnswers | orderBy:'SortOrder'"
ng-selected="va.AnswerID === q.currentAnswer"
value="{{va.AnswerID}}">
{{va.Text}}
</option>
</select>
Run Code Online (Sandbox Code Playgroud)
现在我想在用户更改答案时调用一个方法来设置答案。像这样的东西:
<select
ng-init="answerid = vm.survey.GetCurrentAnswerIDForQuestionID(q.ID)"
ng-model="answerid"
ng-change="vm.survey.SetCurrentAnswerIDForQuestionID(q.ID, answerid)">
...etc
Run Code Online (Sandbox Code Playgroud)
但这不起作用 - 当我查看页面时不再选择正确的项目