我有一个 aspnet core 应用程序,我正在尝试配置 serilog 来向我发送电子邮件,但没有成功。
我有这样的配置:
Log.Logger = new LoggerConfiguration()
.MinimumLevel.Information()
.MinimumLevel.Override("Microsoft", LogEventLevel.Warning)
.Enrich.FromLogContext()
.WriteTo.File("1.log", LogEventLevel.Information, fileSizeLimitBytes: 10_000_000, rollOnFileSizeLimit: true, shared: true)
.WriteTo.Email(new EmailConnectionInfo
{
FromEmail = "xxx@gmail.com",
ToEmail = "yyy@gmail.com",
MailServer = "smtp.gmail.com",
NetworkCredentials = new NetworkCredential
{
UserName = "user",
Password = "pass"
},
EnableSsl = true,
Port = 587,
EmailSubject = "Error in app"
}, restrictedToMinimumLevel: LogEventLevel.Error, batchPostingLimit: 1)
.CreateLogger();
Run Code Online (Sandbox Code Playgroud)
没有电子邮件。它写入文件,因此记录器处于活动状态。我缺少什么吗?
FB.getLoginStatus函数由于某种原因对我不起作用 - 虽然它曾经使用了一段时间.下面是非常基本的代码,并且警报永远不会弹出 - 看起来像FB.getLoginStatus从不调用提供的函数.有任何想法吗 ?
<body>
<form id="form1" runat="server">
<div id="fb-root">
</div>
<script type="text/javascript" src="http://connect.facebook.net/en_US/all.js"></script>
<script type="text/javascript">
FB.init({ appId: 'xxx', status: true, cookie: true, xfbml: true });
FB.getLoginStatus(function (response) {
alert("Hi there");
});
</script>
</form>
Run Code Online (Sandbox Code Playgroud)
有没有办法使 TabControl 上的最后一个选项卡右对齐?想让最后一个与前几个分开。
谢谢 !
文档指出,在.NET和SQL Server中,分辨率均为100ns。
DateTimeOffset值的时间分量以100纳秒单位(称为刻度)进行度量 -C# 精度-100纳秒 -SQL Server
但是SQL似乎删除了最后一位数字(例如,我试图保存2013-08-15 09:19:07.2459675 -04:00,SQL保存2013-08-15 09:19:07.2459670 -04:00-通知最后一位数字发生变化。)
这发生在同一台计算机上,因此与硬件无关。
并不是我真的需要这个解决方案,但是它使比较日期变得更加困难..我很好奇。
这个想法是在某些情况下从另一个来源获取数据,所以我有这个存根:
factory("interceptor", function ($q, $location, $http) {
return function (promise) {
return promise;
}
}
Run Code Online (Sandbox Code Playgroud)
失败了
[$ injector:cdep]发现循环依赖:拦截器< - $ http
还试图注入$ injector并使用它来检索$ http,结果相同.有任何想法吗?
.config只是声明:
.config(function ($httpProvider) {
$httpProvider.responseInterceptors.push('interceptor');
});
Run Code Online (Sandbox Code Playgroud) 我想在编译时不知道对象类型的情况下在对象上设置属性值; 我希望它快速(即每次都不使用反射); 我知道属性名称和类型.
最快的方式(afaik)是使用代表; 所以这就是我到目前为止所拥有的:
class User // this is an example.. Assume I don't know which type this is.
{
public string Name {get;set;}
}
public static Action<object, object> CreatePropertySetter(Type targetType, string propertyName)
{
ParameterExpression targetObjParamExpr = Expression.Parameter(targetType);
ParameterExpression valueParamExpr = Expression.Parameter(targetType.GetProperty(propertyName).PropertyType);
MemberExpression propertyExpr = Expression.Property(targetObjParamExpr, propertyName);
BinaryExpression assignExpr = Expression.Assign(targetObjParamExpr, valueParamExpr);
Action<object, object> result = Expression.Lambda<Action<object, object>>(assignExpr, targetObjParamExpr, valueParamExpr).Compile();
return result;
}
Run Code Online (Sandbox Code Playgroud)
然后我打电话:
User user = new User();
var userNameSetter = CreatePropertySetter(user.GetType(), "Name");
userNameSetter(user, "Bob");
Run Code Online (Sandbox Code Playgroud)
但是,它不喜欢我传递User类型对象而不是Object的事实,并且失败并且" UserExpression类型'User'不能用于'System.Object'类型的委托参数. …
我正在尝试基于模板动态生成表单,而模板又具有一些动态属性.
我越来越近了,但是在检索容器元素方面遇到了麻烦.
这是指令:
myApp.directive('myDirective', function () {
return {
template: "<div> <label>{{Field.Name}} <div id='{{Field.Name}}_Container'></div> </label></div>",
replace: true,
restrict: 'AE',
scope: {
Field: "=fieldInfo",
FieldData:"="
},
link: function (scope, element, attr) {
var input = "<input type='" + scope.Field.Type + "' data-ng-model='FieldData[" + scope.Field.Name + "]' />";
var inputEl = angular.element(input);
var container = angular.element("#" + scope.Field.Name + "_Container"); // Doesn't work
container.append(inputEl);
}
}
});
Run Code Online (Sandbox Code Playgroud)
控制器:
function MyCtrl($scope) {
$scope.Fields = [
{ Name: "field1", Type: "text", Data:null },
{ …Run Code Online (Sandbox Code Playgroud) 我正在尝试运行类似的查询:
sql = @"with t(id) as (select 1 )
select * from Project
where id > (select id from t)";
var projects = this.Db.Query<Project>(sql).ToArray();
Run Code Online (Sandbox Code Playgroud)
由于某种原因,OrmLite决定将sql视为"where"子句,因此最终运行的是这样的:
select field1, field2 from project where with t(id) .....
Run Code Online (Sandbox Code Playgroud)
它是否在查询的起始位置寻找"选择"?没有创建视图 - 有没有办法用CTE运行查询?
说,我有一个动作
public ActionResult Details(MyModel details)
Run Code Online (Sandbox Code Playgroud)
在这种情况下,细节将始终为null,因为名称与方法名称匹配.将其重命名为其他东西 - 它工作正常.对我来说,这些是两个独立的东西 - 一个是网址,另一个是POST数据.有谁见过MS解释这个?
尝试从另一个域调用signalR,并继续收到此错误:
XMLHttpRequest无法加载localhost:62150/signalr/negotiate?_ = 1362242757692.Access-Control-Allow-Origin不允许原始localhost:4982.
这是我正在尝试运行的代码:
$(function () {
jQuery.support.cors = true;
$.connection.hub.url = 'http://localhost:62150/signalr';
$.connection.hub.start()
.done(function () { alert("Now connected!"); })
.fail(function () { alert("Could not Connect!"); });
});
Run Code Online (Sandbox Code Playgroud)
加载了jquery和jquery.signalr.js,localhost:62150/signalr/hubs用JS响应,localhost:62150/signalr/hubs/negotiate?_ = 1362243021215如果我在浏览器中运行它则返回JSON - 所以它不是一个缺少的脚本或路径问题无效.
我尝试过的:
以及所有上述的组合.
任何人都知道我还能尝试什么?
服务应用程序是MVC和WebAPI的组合(不要认为它有任何区别).如果我正在尝试来自同一个域的代码 - 它可以工作.
c# ×4
angularjs ×2
.net ×1
asp.net-core ×1
asp.net-mvc ×1
c#-4.0 ×1
facebook ×1
layout ×1
serilog ×1
servicestack ×1
signalr ×1
tabcontrol ×1
wpf ×1