小编Sli*_*345的帖子

WCF服务托管Windows服务不保存调用之间的状态

我正在尝试创建一个简单的Windows服务,它维护一个整数队列,并通过WCF调用接受来自其他应用程序的新整数.我当前的实现似乎为每个与它通信的应用程序维护单独的队列,这不是我想要的.

我首先按照Microsoft的说明,如何:在托管Windows服务中托管WCF服务.

我的WindowsService类看起来像这样:

public class MyWindowsService : ServiceBase{
    public ServiceHost serviceHost = null;

    public MyWindowsService(){
        ServiceName = "AdHocReportService";
    }
    public static void Main(){
        ServiceBase.Run(new MyWindowsService());
    }

    protected override void OnStart(string[] args){
        if (serviceHost != null)
            serviceHost.Close();

        serviceHost = new ServiceHost(typeof(MyService));
        serviceHost.Open();
    }
    protected override void OnStop(){
        if (serviceHost != null){
            serviceHost.Close();
            serviceHost = null;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

在我的Service类中,我有一个队列和一个Add方法.add方法在add之后返回队列中的项目数.代码如下所示:

public class MyService : IMyService
{
    private Queue<int> myQueue= new Queue<int>();

    public int Add(int reportId)
    {
        myQueue.Enqueue(reportId);
        return myQueue.Count;
    } …
Run Code Online (Sandbox Code Playgroud)

.net c# wcf windows-services

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

EncryptByKey与EncryptByPassPhrase?

您对SQL Server的对称键功能有何看法?具体来说,我有两个问题:

  1. 哪一组功能更好... EncryptByKey或EncryptByPassPhrase?

  2. 这两个功能都需要某种密码。在典型的Web应用程序体系结构中,该密码应该存储在哪里?(即,在数据库中的存储过程中进行硬编码,或在Web应用程序中将其存储为配置设置)

我很想看看这些功能的最佳实践。

sql sql-server asp.net security encryption

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

如何将 SQL Server 作业名称传递给此作业中的存储过程?

我有工作:

运行程序

它有以下步骤:

第 1 步:做某事
第 2 步:做其他事
第 3 步:电子邮件

在第 3 步中,我有:

EXEC spSendSuccessEmail -- and here's where I want to pass the job name.
Run Code Online (Sandbox Code Playgroud)

下面是上面存储过程的代码:

ALTER PROCEDURE [dbo].[spSendSuccessEmail] @JobName VARCHAR(30)
AS 
BEGIN
    SET NOCOUNT ON;

    DECLARE @EmailBody VARCHAR(50)

    SET @EmailBody = @JobName + ' ran successfully'

    BEGIN TRY
        EXEC msdb.dbo.sp_send_dbmail 
            @profile_name = 'DBTeam',
            @recipients = 'user@universe.com',
            @copy_recipients = 'user2@universe.com',
            @subject = 'Process Complete',
            @body = @EmailBody,
            @importance = 'Normal',
            @sensitivity = 'Normal';
    END TRY
    BEGIN CATCH …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server token sql-job

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

DropDownListFor枚举不会绑定回模型

在我的MVC表单上,我需要将一个下拉框绑定到我的ViewModel上的枚举.我发现这样做的最好方法在这里描述.

它似乎首先工作,但现在我已经在我的表单中添加了验证,我发现它没有绑定回ViewModel.

这是我的剃刀代码:

<div class="editor-field">
    @Html.DropDownListFor(model => model.response, 
                          new SelectList(Enum.GetValues(typeof(Vouchers.Models.ResponseType))),
                          "Please Select")
</div>
Run Code Online (Sandbox Code Playgroud)

这是我对该领域的视图模型定义:

[DisplayName("Response")]
[Range(1, int.MaxValue, ErrorMessage = "You must select a response before submitting this form.")]
public ResponseType response { get; set; }
Run Code Online (Sandbox Code Playgroud)

问题是我无法提交表格; 即使从我的下拉列表中选择响应后,也会显示Range属性的Validation错误消息,并且客户端验证会阻止表单提交.

我相信这是因为下拉列表的SelectList只包含枚举的字符串名称,而不包含基础整数值.

我怎么解决这个问题?

validation asp.net-mvc asp.net-mvc-3

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