我将实现一个NetHttpBinding支持双工连接的Web服务.但问题是我不知道如何保护它.我试过用CostumUserNamePasswordValidationMode,这是我的web.config:
<behaviors>
<serviceBehaviors>
<behavior name="Behavior1">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="true"/>
<serviceCredentials>
<serviceCertificate findValue="MyWebSite"
storeLocation="LocalMachine"
storeName="My"
x509FindType="FindBySubjectName" />
<userNameAuthentication userNamePasswordValidationMode="Custom"
customUserNamePasswordValidatorType="WcfWSChat.UserNamePassValidator, WcfWSChat" />
</serviceCredentials>
</behavior>
</serviceBehaviors>
</behaviors>
<bindings>
<netHttpBinding>
<binding name="Binding1">
<security mode="Message">
<message clientCredentialType="UserName"/>
</security>
</binding>
</netHttpBinding>
</bindings>
<protocolMapping>
<add scheme="http" binding="netHttpBinding"/>
</protocolMapping>
<services>
<service name="WcfWSChat.WSChatService"
behaviorConfiguration="Behavior1" >
<endpoint address=""
binding="netHttpBinding"
bindingConfiguration="Binding1"
contract="WcfWSChat.IWSChatService" />
<endpoint contract="IMetadataExchange" binding="mexHttpBinding" address="mex" />
</service>
</services>
Run Code Online (Sandbox Code Playgroud)
我认为问题是<security mode="Message">,每当我运行项目时,无论是在IIS Express还是IIS 8.0上,我都会收到此错误:
无法找到与绑定NetHttpBinding的端点的方案https匹配的基址.注册的基地址方案是[http].
如果我更改mode属性None,我将不再看到错误,但验证不起作用!
我怎么解决这个问题?
我将通过单击按钮添加SVG元素:
myApp.directive('addRectangle', function() {
return function(scope, element, attr) {
element.bind('click',function() {
scope.rectCount++;
angular.element(document.getElementsByClassName('svgMain')).append('<circle r=5 cx=200 cy=200 fill=red data-scope='+scope.rectCount +' />');
});
}
});
Run Code Online (Sandbox Code Playgroud)
该元素将按照我的预期正确添加,但问题是它没有显示在相关位置!我已经检查了页面的源html,我完全确定了.这是这个问题的小提琴:jsfiddle
另外,我正在使用angular版本1.4.x.
在三种类型的线程(内核级别,用户级别和混合)之间,C#(或更一般地说是.NET)使用哪种类型?
我使用Microsoft Owin并ASP.NET WebApi进行身份验证和授权过程对我的客户端应用程序.身份验证服务器也受到保护HTTPS.我已经阅读了一些关于使用的文章Microsoft Owin,其中一篇我选择实现的是:
使用ASP.NET Web API 2,Owin和Identity进行基于令牌的身份验证
我的项目与实施之间存在一些差异:
我需要识别我的客户端,以防我的应用程序在手机上发送请求,而不是任何其他设备或工具,如Fiddler.我认为一个选项可能是来自移动应用程序的每个请求发送一个应用程序ID.但我不知道如何以及在何处验证身份验证服务器应用程序中的请求.这对于注册用户非常重要:
[AllowAnonymous]
[Route("Register")]
public async Task<IHttpActionResult> Register(UserModel userModel)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
IdentityResult result = await _repo.RegisterUser(userModel);
IHttpActionResult errorResult = GetErrorResult(result);
if (errorResult != null)
{
return errorResult;
}
return Ok();
}
Run Code Online (Sandbox Code Playgroud)
我不想让不可靠的设备(即除移动应用程序之外的客户端)调用此方法.
我有两个表格结构如下:
*Table User*
id int identity
username varchar
role varchar
*Table Ticket*
id int identity
admin_id int
user_id int
Run Code Online (Sandbox Code Playgroud)
admin_id并且user_id是User表中的外键.我在Mssql图中为关系设置了一个关系名称,但是当我从这个数据库创建我的模型时,关系是:User和User1.当我手动更改它们时,它会变好,但在刷新模型或重新创建Ticket表后,User又User1回来了.如何在EF模型中为我的关系设置最终名称?即使我刷新或删除整个模型,我希望EF模型关系名称与图表关系名称相同.
sql-server entity-framework foreign-key-relationship ef-model-first
我有一个有一些行的表,每行都有一个背景.有一个按钮用jQuery fadeOut删除指定的行,但在操作过程中设计不好.单元格背景将为白色.
$(document).ready(function(){
$(".btn").click(function(){
$("#row").fadeOut();
});
});
Run Code Online (Sandbox Code Playgroud)
这个jsfiddle更好地描述了我的问题.
我正在使用SQL Server 2016,它支持JSON PATH返回JSON字符串。我想知道如何获取一个简单的空json数组,这意味着[]当我的查询或子查询返回null时。我试过这个查询:
SELECT '' AS TEST
FOR JSON PATH,ROOT('arr')
Run Code Online (Sandbox Code Playgroud)
返回:
{"arr":[{"test":""}]}
Run Code Online (Sandbox Code Playgroud)
还有这个:
SELECT NULL AS TEST
FOR JSON PATH,ROOT('arr')
Run Code Online (Sandbox Code Playgroud)
返回:
{"arr":[{}]}
Run Code Online (Sandbox Code Playgroud)
更好,但仍然不正确,我需要这样做:
{"arr":[]}
Run Code Online (Sandbox Code Playgroud) 我有一种SPA,它使用API来获取数据.这个SPA有一些实例,它们都使用常见的样式和脚本文件.所以我的问题是当我更改这些文件中的一行时,我将打开每个实例并更新文件.这对我来说真的很耗时.
其中一种方法是将这些文件放在服务器的文件夹中,然后根据时间更改版本,但如果我使用此解决方案,我将丢失浏览器缓存:
<link href="myserver.co/static/main.css?ver=1892471298" rel="stylesheet" />
<script src="myserver.co/static/script.js?ver=1892471298"></script>
Run Code Online (Sandbox Code Playgroud)
ver值是根据时间生成的,我不能使用浏览器缓存.我需要一个从API更新这些文件的解决方案,然后将更新所有SPA.
我正在使用SQL SERVER 2016 JSON结果,但我不知道为什么它将所有内容转换为数组,例如,如果我执行以下查询,它返回一个数组而不是一个对象:
SELECT 1 AS One,2 AS Two,3 AS Three
FOR JSON PATH
Run Code Online (Sandbox Code Playgroud)
结果是:
[{"One":1,"Two":2,"Three":3}]
Run Code Online (Sandbox Code Playgroud)
但是我希望它能回归:
{"One":1,"Two":2,"Three":3}
Run Code Online (Sandbox Code Playgroud)
我也测试了这个查询,但结果是一样的,同样是一个数组:
SELECT TOP 1 1 AS One,2 AS Two,3 AS Three
FOR JSON PATH
Run Code Online (Sandbox Code Playgroud) 我想创建一些像这样的形状:

这是3个形状.然后我想在这个形状上加上一些元素.我尝试使用border-radius属性,但它无法生成此形状.此外,我尝试使用<img>,<map>并<area>但我有与它把元素的问题.你有什么想法?