我想知道是否有办法配置SignalR,以便集线器中的客户端功能使用驼峰大小写返回对象.
谢谢.
即时通讯使用nodejs和我试图只提供html文件(没有玉,ejs ...引擎).
继承我的入口点(index.js)代码:
var express = require('express');
var bodyParser = require('body-parser');
var app = express();
app.set('port', (process.env.PORT || 5000));
app.use(express.static(__dirname + '/public'));
app.use(bodyParser.urlencoded({
extended: true
}));
app.use(bodyParser.json());
app.use(express.static(__dirname + '/public'));
app.get('*', function(req, res){
res.render('index.html');
});
app.listen(app.get('port'), function() {
});
Run Code Online (Sandbox Code Playgroud)
当我点击网址"localhost:5000 /"时,这样做很好,但是当我尝试类似"localhost:5000/what"的内容时,我收到以下消息: 错误:无法找到模块'html'
我是nodejs的新手,但我希望所有路由都能呈现index.html文件.我怎样才能做到这一点 ???
谢谢.
我正在使用asp.net mvc4,我在'controller1'这个动作:
[HttpGet]
public async Task<string> Action1()
{
try
{
HttpClient cl = new HttpClient();
string uri = "controller2/action2";
HttpResponseMessage response = await cl.GetAsync(uri);
response.EnsureSuccessStatusCode();
return response.ToString();
}
catch
{
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
当我设置uri到"http://localhost:1733/controller2/action2"动作工作正常,但从未与uri设置为"controller2/action2"或"/ controller2/action2"或"〜/ controller2/action2".
如何在不硬编码uri的情况下编写此操作?
谢谢.
我想为一个可观察的列表做一些分页.我使用bootstrap作为样式,在他们的文档中,他们使用未排序的列表来显示页面的链接.
假设我们在视图中有以下代码:
<ul class="pagination" data-bind="foreach : ko.utils.range(1, 10)">
<li><a href="#" data-bind="text : $data"></a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)
此代码将显示以下内容:
<ul class="pagination">
<li><a href="#">1</a></li>
<li><a href="#">2</a></li>
...
<li><a href="#">10</a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)
问题:如何使用knockout我可以<li>在未排序列表的顶部和底部添加静态链接到上一页和下一页?这必须是显示的html:
<ul class="pagination">
<li><a href="#">previous</a></li>
<li><a href="#">1</a></li>
<li><a href="#">2</a></li>
...
<li><a href="#">10</a></li>
<li><a href="#">next</a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)
谢谢.
由于本文档,我能够在服务器端使用WebApiOdata和EntityFramework以及客户端的Breeze创建OData(v3)服务.
现在我想对OData规范的第4版做同样的事情.但有一个问题.EdmBuilderBreeze提供的类依赖于与版本3相关的'Microsoft.Data.Edm'.
在EdmBuilder这两行中阻止了项目的建立:
using Microsoft.Data.Edm.Csdl;
using Microsoft.Data.Edm.Validation;
Run Code Online (Sandbox Code Playgroud)
这是正常的,因为我的项目引用了'Microsoft.OData.Edm'(对于v4)而不是'Microsoft.Data.Edm'(对于v3).
所以我用这个替换了2个using语句:
using Microsoft.OData.Edm;
using Microsoft.OData.Edm.Csdl;
using Microsoft.OData.Edm.Validation;
Run Code Online (Sandbox Code Playgroud)
现在项目可以构建,但在运行时它会抛出此异常
"解析EDMX文档时遇到以下错误:UnexpectedXmlElement:根元素的元素'Edmx'是意外的.根元素应该是Edmx.:( 1,40)"
从EdmBuilder此时类:
using (var reader = XmlReader.Create(stream))
{
return EdmxReader.Parse(reader);
}
Run Code Online (Sandbox Code Playgroud)
有什么方法可以解决这个问题吗?就像EdmBuilder我可以在某处下载的新课程一样?:)
谢谢.
PS:我使用代码首次迁移和此代码在'WebApiConfig'中配置OData路由:
config.MapODataServiceRoute(
routeName: "ODataRoute",
routePrefix: "OData",
model: EdmBuilder.GetEdm<MyDbContext>(),
batchHandler: new DefaultODataBatchHandler(GlobalConfiguration.DefaultServer));
Run Code Online (Sandbox Code Playgroud) 我希望能够在与WebRTC的对话过程中切换相机,而无需重新协商呼叫.
假设我们使用以下MediaStreamTrack.getSources方法有2个"mediaSources"对象:
{
id: "id_source_1" | "id_source_2",
facing: "user" | "environment",
kind: "kind_1" | "kind_2",
label: "label_1" | "label_2"
}
Run Code Online (Sandbox Code Playgroud)
我们用"source_1"(面向"用户")开始呼叫,我们希望用户能够切换到"source_2"(面向"环境").
在我当前的代码中,当用户单击"切换摄像机"按钮时,执行以下操作:( callingSession是当前的WebRTC会话)
var mediaParams = {
audio: true,
video: { deviceId : source_2.id},
options: {
muted: true,
mirror: true
},
elemId: 'localVideo'
};
callingSession.getUserMedia(mediaParams, function (error, stream) {
if (error) {
console.error('error getting user media');
} else {
var oldVideoTracks = callingSession.localStream.getVideoTracks();
var newVideoTracks = stream.getVideoTracks();
if (oldVideoTracks.length > 0 && newVideoTracks.length > 0) …Run Code Online (Sandbox Code Playgroud) 我对这个json有以下问题:
{
"EVTS": {
"EVT": [
{ "ID": "123456",
"KEY1" : "somekey",
"CATEG": [
"cat1",
"cat2",
"cat3"
]
}
]}
}
Run Code Online (Sandbox Code Playgroud)
这个c#类:
public class myClass{
public string ID { get; set; }
public string KEY1 { get; set; }
public list<string> CATEG { get; set; }
}
public class ESObject1
{
[JsonProperty("EVT")]
public List<myClass> EVT { get; set; }
}
public class ESObject0
{
[JsonProperty("EVTS")]
public ESObject1 EVTS { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
}
在这里我称之为解串器:
ESObject0 globalobject = JsonConvert.DeserializeObject<ESObject0>(json);
Run Code Online (Sandbox Code Playgroud)
但是这最后一个代码不起作用,我抛出了这个异常: …
我正在使用breezejs,我的应用程序的服务器端代码是.net.
在我的观点(客户端),我想添加和实体然后我想保存它.让我们假设一个实体是这样的:
{
"Id": 1,
"Name": "someName",
"CreatedDate": "1900-01-01T05:00:00Z",
"UpdatedDate": "1900-01-01T05:00:00Z",
"CreatedBy": null,
"UpdatedBy": null,
"RowVersion": 0,
etc ...
}
}
Run Code Online (Sandbox Code Playgroud)
我想设置的值CreatedDate UpdatedDate CreatedBy和UpdatedBy,我能做到这一点当然是使用JavaScript的,但我不希望客户采取这种事情的照顾.
我的微风控制器在哪里生活这个功能是这样的:
[HttpPost]
public SaveResult SaveChanges(JObject saveBundle)
{
return _contextProvider.SaveChanges(saveBundle);
}
Run Code Online (Sandbox Code Playgroud)
因为你可以看到saveBundle是一个JObject,当我调试时,我看到saveBundle是这样的:
{
"entities": [
{
"Id": 1,
"Name": "someName",
"CreatedDate": "1900-01-01T05:00:00Z",
"UpdatedDate": "1900-01-01T05:00:00Z",
"CreatedBy": null,
"UpdatedBy": null,
"RowVersion": 0,
etc ...
}
}
}
],
"saveOptions": {}
}
Run Code Online (Sandbox Code Playgroud)
如何在提交保存之前更改saveBundle中的值CreatedDate UpdatedDate CreatedBy和UpdatedBy?
这是一个JObject,有一个对象数组作为proprety,我可以用javascript操纵Json,我怎么能用.Net ???
非常感谢.
我试图使用angular-google-maps库在地图中放置一些标记,我可以使用但不是很多标记绘制一个标记.这是我的js代码.ui-gmap-markerui-gmap-markers
angular.module('myApp').controller('homeController', [homeController]);
function homeController(){
var vm = this;
vm.map = {
center:{
latitude: 46.8032826,
longitude: -71.242796
},
zoom: 12
};
vm.places = [
{
idKey: 583187,
latitude: 46.7682,
longitude: -71.3234,
title: "title"
}
];
};
Run Code Online (Sandbox Code Playgroud)
在HTML:
<ion-view ng-controller="homeController as vm">
<ui-gmap-google-map draggable="true" center="vm.map.center" zoom="vm.map.zoom">
<ui-gmap-markers models="vm.places" coords="'self'" icon="'icon'"></ui-gmap-markers>
</ui-gmap-google-map>
</ion-view>
Run Code Online (Sandbox Code Playgroud)
我可以看到地图,console.log我可以看到places数组已正确设置,但我看不到任何标记!我的代码出了什么问题?
谢谢.
PS:注意我使用离子,即时通讯它与问题无关.
如何在lambda表达式中正确使用async/await关键字?这是代码:
public async Task<IHttpActionResult> GetUsers() {
var query = await _db.Users.ToListAsync();
var users = query.Select(async u => new
{
FirstName = u.FirstName,
LastName = u.LastName,
IsGeek = await _userManager.IsInRoleAsync(u.Id, "Geek")
});
return Ok(users);
}
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,此代码在webapi控制器中运行,它编译时没有任何错误,问题是它需要额外的 await某处,因为此操作永远不会返回.
请注意,_db并且_usermanager是应用程序的DbContext和UserManager.
谢谢.
更新:
这个等效的代码永远不会失败(但它不是优雅的:():
var query = await _db.Users.ToListAsync();
var users = new List<object>();
foreach (var u in query)
{
bool IsGeek = await _userManager.IsInRoleAsync(u.Id, "IsGeek");
users.Add( new {
FirstName = u.FirstName,
LastName …Run Code Online (Sandbox Code Playgroud) 我正在尝试在一个对象appHub中编写一个函数,该函数将调用服务器上的方法。这是我的代码:
var connection = $.hubConnection();
var appHubProxy = connection.createHubProxy('appHub');
var appHub = {
//some methods here
invoke: function(){
appHubProxy.invoke.call(arguments);
}
}
Run Code Online (Sandbox Code Playgroud)
如您所见,该invoke方法应该像这样调用:
appHub.invoke('serverMethod', arg1, ..., argN)
运行此代码时出现此错误:
未捕获的类型错误:无法读取未定义的属性“_”
我试过了appHubProxy.invoke(arguments),它不会抛出错误,但当然,永远不会调用服务器方法。
如何正确地将参数传递给 SignalR 的 invoke 方法?
c# ×3
javascript ×3
.net ×2
asp.net ×2
breeze ×2
json.net ×2
signalr ×2
angularjs ×1
asp.net-mvc ×1
async-await ×1
express ×1
google-maps ×1
json ×1
knockout.js ×1
lambda ×1
linq ×1
node.js ×1
odata ×1
webrtc ×1