小编Evg*_*eni的帖子

使用 Serilog 记录到电子邮件接收器

我有一个 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)

没有电子邮件。它写入文件,因此记录器处于活动状态。我缺少什么吗?

c# serilog asp.net-core

6
推荐指数
1
解决办法
8611
查看次数

FB.getLoginStatus不起作用?

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)

facebook facebook-graph-api

5
推荐指数
2
解决办法
1万
查看次数

如何右对齐最后一个 TabControl 选项卡?

有没有办法使 TabControl 上的最后一个选项卡右对齐?想让最后一个与前几个分开。

谢谢 !

c# wpf layout tabcontrol

5
推荐指数
1
解决办法
3835
查看次数

C#和SQL Server中的DateTimeOffset分辨率

文档指出,在.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-通知最后一位数字发生变化。)

这发生在同一台计算机上,因此与硬件无关。

并不是我真的需要这个解决方案,但是它使比较日期变得更加困难..我很好奇。

.net c# time-precision datetimeoffset sql-server-2008

5
推荐指数
1
解决办法
8452
查看次数

有没有办法为拦截器请求$ http?

这个想法是在某些情况下从另一个来源获取数据,所以我有这个存根:

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)

angularjs

5
推荐指数
1
解决办法
4084
查看次数

在编译时设置属性而不知道目标类型

我想在编译时不知道对象类型的情况下在对象上设置属性值; 我希望它快速(即每次都不使用反射); 我知道属性名称和类型.

最快的方式(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'类型的委托参数. …

c# c#-4.0

3
推荐指数
1
解决办法
2382
查看次数

Angularjs指令:如何通过动态id查找元素,并修改模板

我正在尝试基于模板动态生成表单,而模板又具有一些动态属性.

我越来越近了,但是在检索容器元素方面遇到了麻烦.

这是指令:

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)

angularjs

3
推荐指数
1
解决办法
2万
查看次数

OrmLite和Common表表达式

我正在尝试运行类似的查询:

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运行查询?

servicestack ormlite-servicestack

3
推荐指数
1
解决办法
340
查看次数

为什么action参数不能与动作同名?

说,我有一个动作

public ActionResult Details(MyModel details)
Run Code Online (Sandbox Code Playgroud)

在这种情况下,细节将始终为null,因为名称与方法名称匹配.将其重命名为其他东西 - 它工作正常.对我来说,这些是两个独立的东西 - 一个是网址,另一个是POST数据.有谁见过MS解释这个?

asp.net-mvc-3

2
推荐指数
1
解决办法
280
查看次数

跨域的SignalR:Access-Control-Allow-Origin不允许的错误

尝试从另一个域调用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的组合(不要认为它有任何区别).如果我正在尝试来自同一个域的代码 - 它可以工作.

asp.net-mvc signalr asp.net-web-api

2
推荐指数
1
解决办法
4634
查看次数