小编Ron*_*Ron的帖子

Azure WebJobs连接字符串配置(AzureWebJobsDashboard ??)

我正在尝试使用Azure Webjobs,我理解它的工作方式,但我不明白为什么我需要使用两个连接字符串,一个是用于保存消息的队列但是

  1. 为什么还有一个名为"AzureWebJobsDashboard"的?

  2. 它的目的是什么?

  3. 我从哪里得到这个连接字符串?

目前我在同一个解决方案中有一个Web应用程序和一个Webjob,我只在本地进行实验(没有发布任何内容),我在云中找到的一件事是保存队列的存储帐户.

我甚至尝试在两个地方放置相同的连接字符串(AzureWebJobsDashboard,AzureWebJobsStorage),但抛出异常:"使用此触发器时无法绑定参数'log'."

谢谢.

azure azure-webjobs azure-webjobssdk

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

在Blob上将Blob存储装载为驱动器

我需要以某种方式上传文件并在VM上访问它们,我该怎么做?

具体来说,如何从VM中访问我作为blob上传的文件?

我尝试将我作为blob上传的文件访问Azure虚拟机,但我无法在VM上找到它.

我可以简单地将blob存储作为驱动器安装在我的VM上吗?

我试图避免从实际的blob存储中获取它并将其下载到VM的往返时间.

blob azure azure-storage azure-storage-blobs azure-virtual-machine

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

在MVC Web应用程序上实现HTTPS

我有一个Web应用程序(ASP.NET MVC4),我需要启用HTTPS/SSL.

我检查了很多关于如何做的文章和教程,但我没有得到一件事:

有些地方只讨论IIS的配置:

  1. 的RapidSSL:

https://knowledge.rapidssl.com/support/ssl-certificate-support/index?page=content&actp=CROSSLINK&id=SO22345

  1. 好博客:

http://weblogs.asp.net/scottgu/tip-trick-enabling-ssl-on-iis7-using-self-signed-certificates

有些地方只讨论代码(在应用程序内):

  1. TrailMax:

http://tech.trailmax.info/2014/02/implemnting-https-everywhere-in-asp-net-mvc-application/

所以我的问题是我需要如何处理这个话题?

我想使用临时自签名证书启用HTTPS,然后购买真实证书,我需要做什么?配置IIS?配置我的代码?都?

如果有人可以指导我完成这件事.

谢谢

iis asp.net-mvc ssl https ssl-certificate

9
推荐指数
1
解决办法
9205
查看次数

侦听队列(事件驱动无轮询)服务总线/存储队列

我想弄清楚如何监听队列中的事件(尤其是入队事件)。

假设我有一个控制台应用程序和一个服务总线队列/主题,我如何连接到队列并等待新消息?

我试图在没有While(true)持续轮询的情况下实现这一点,我试图以一种非常听话的方式来做更多的事情,比如保持连接到队列的套接字。

我不想使用轮询的原因是我知道它会用请求淹没服务器,我需要一个可以在大负载下工作的解决方案。

谢谢你。

为了简单起见,我给出了非常基本的示例,但我的实际情况要复杂一些:

我有使用服务总线队列将需要处理的消息发送到工作角色的 Web API。

我需要以某种方式知道 Worker 何时处理了消息。我希望 Worker 向队列发送一条消息,提醒 Web API 已处理该消息,但现在我需要让 Web API“坐下”并等待 Worker 的回复,这引出了我的问题:

如何在不进行轮询的情况下不断地收听队列(因为有很多实例会进行池化,并且会创建很多可能最好避免的请求。

servicebus azure azure-queues azureservicebus azure-servicebus-queues

7
推荐指数
1
解决办法
6364
查看次数

在本地(脱机)和没有IIS运行Web应用程序

我试图了解是否有办法在没有IIS的本地计算机(浏览器)上运行Web应用程序.

我的主要目标是将我的Web应用程序(即在互联网上)转换为在本地计算机上运行的软件,而无需使用互联网和IIS.

我的想法是在我的同事之间分发我的webapp,而不是强迫他们在线工作而不需要互联网连接.

我有一个 MVC Web应用程序有3页和服务器端的几个方法.

应用程序的想法是从我在我的Web应用程序的一个页面上实现的表单中获取属性,并将客户端上的属性转换为JSON并将其发送到服务器,服务器将根据JSON对象,让客户端下载生成的XML文件.

它的流程:

1.客户填写我网站上的表格.

2.表单在客户端成为JSON对象.

3.存储表单属性(由客户端填充)的JSON对象被发送到服务器.

4.服务器从中获取JSON对象并生成XML文档.

5.客户端下载生成的XML文件.

很简单的Web应用程序.

我知道我可以通过点击它来运行HTML页面,页面将显示在浏览器上但我需要服务器端才能执行操作.

所以我的问题是:如何让我的网络应用程序在没有互联网的情况下运行?

有了约束:

  1. 不需要IIS.
  2. 使用.NET 4.0.(OWIN 2.0 - 不好)
  3. 没有互联网要求.
  4. 计算机无需安装即可通过此Web应用程序.
  5. 当我将此应用程序发送给我的朋友时,服务器端代码不会公开.

我读了几篇关于OWIN,SingalR,Cassini和WCF的文章,但它们都很模糊......

如果有人可以为我提供指导,那将非常有帮助.

非常感谢.

c# asp.net wcf signalr owin

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

覆盖Blob但保留元数据?

我需要在blob(文件的本地路径)上存储信息,并能够覆盖该blob但保留信息.

我尝试了元数据方法,它正是我所寻找的,但是一旦我覆盖了blob,元数据也会被覆盖.

有什么方法可以覆盖blob但保留旧的元数据?

更新现有块blob会覆盖blob上的所有现有元数据

参考

MSDN声明有部分更新选项:

要执行块blob内容的部分更新,请使用Put Block List操作.

放置阻止列表

问题是如何设置部分更新以仅更新blob的数据而不更新元数据?

谢谢.

更新(进一步信息):

我有一个云服务,从客户端获取文件并将文件返回给客户端.

所以实际发生的是:

客户端向服务发送请求以生成访问以在blob存储中存储一个blob,服务返回给他URL + SAS,我还创建了一个带有一个字符的实际blob,以便在blob上保存元数据.

客户端获取URL + SAS并使用Web客户端库开始上载文件.

一旦客户端上传了文件,他就会向服务器发送请求,并提供与他提供的相同的URL(并且可以告诉服务,这是我的文件做你的事情)

服务器将操作该文件并覆盖相同的blob并返回整个操作的日志.

客户端可以读取日志,并可以从同一URL下载"新"文件.

你可能会注意到问题是我让客户端覆盖我的blob,他(客户端)要求我上传文件,我给他返回URL + SAS但是当我生成SAS令牌时我还创建了一个blob来保存直到用户上传到实际数据的元数据,所以我不能要求用户首先获取元数据然后上传(我需要上传将来自Webclient库,没有任何特殊的依赖,如Azure API).

结论

所以我的问题答案的底线是"不,没有办法覆盖blob并保存元数据",但Gaurav Mantri对我的情况有一个很好的解决方法.

metadata blob azure azure-storage-blobs

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

MVC身份|| 禁用所有cookie并"记住我"选项?

我正在使用MVC 4和身份2.0,我在我的网站(开箱即用功能)"记住我",我想禁用此选项,并在我的网站中有这两个选项之一:

1.用户每次使用我的网站时都需要登录(输入用户名和密码).

2.user每次都需要登录,网站会记住他30分钟并且不会强迫他在该时间段内登录(在我们的情况下为30分钟).

我怎样才能完成这3件事?

禁用我只是注释登录页面中的复选框我认为它会做的伎俩:)

编辑:

当我设置这个:

   app.UseCookieAuthentication(new CookieAuthenticationOptions
        {
            AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
            LoginPath = new PathString("/Logon/LogOn"),
            ExpireTimeSpan = TimeSpan.FromMinutes(30),
        });
Run Code Online (Sandbox Code Playgroud)

我是否需要从那里评论/删除此代码:

app.UseCookieAuthentication(new CookieAuthenticationOptions
            {
                AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
                LoginPath = new PathString("/Account/Login"),
                Provider = new CookieAuthenticationProvider
                {
                    OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<ApplicationUserManager, ApplicationUser>(
                        validateInterval: TimeSpan.FromMinutes(30),
                        regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager))
                }
            });

            app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie);
Run Code Online (Sandbox Code Playgroud)

asp.net asp.net-mvc asp.net-identity

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

服务总线-单例连接类?

我试图找出从Web-API使用服务总线的最佳实践是什么。

我已经读到重新创建QueueClient,SubscriptionClient等对象是错误的方法,因此我需要重用工厂和客户端。

服务总线客户端对象(例如Microsoft.ServiceBus.Messaging.QueueClient或Microsoft.ServiceBus.Messaging.MessageSender)是通过MessagingFactory对象创建的,该对象还提供内部连接管理。发送消息后,请勿关闭消息传递工厂或将队列,主题和订阅客户端关闭,然后在发送下一条消息时重新创建它们。关闭消息传递工厂会删除与服务总线服务的连接,并且在重新创建工厂时会建立新的连接。建立连接是一项昂贵的操作,可以通过将同一工厂和客户端对象重新用于多个操作来避免。

参考

我需要实现一个特殊的类,该类将保持与服务总线的连接,我在考虑一个Singleton类,该类将保留特定的操作(像这样EnqueueJobToArchiveQueue(Job job)的函数,构造函数将初始化QueueClient,MessageFactory等,然后由“特定的操作功能”。

我的问题是我需要关闭对象(QueueClient.Close()),什么时候需要关闭对象?

到目前为止,这是我的课程:

 public class ServiceBusHelper
{
    private static readonly ServiceBusHelper instance = new ServiceBusHelper();

    private static MessagingFactory msgFactory;

    private static NamespaceManager namespaceManager;

    private const string jobQueueName = "job";

    private const string responseTopicName = "jobResult";

    private const string archiveQueueName = "jobArchive";

    private static QueueClient archiveQueue;

    private static QueueClient jobQueue;

    private static TopicClient responseTopic;

    private ServiceBusHelper()
    {

    }

     static ServiceBusHelper()
    {

          msgFactory = MessagingFactory.CreateFromConnectionString(ConfigurationManager.AppSettings["ServiceBusCS"]);
          namespaceManager = NamespaceManager.CreateFromConnectionString(ConfigurationManager.AppSettings["ServiceBusCS"]);

          if (!namespaceManager.QueueExists(jobQueueName))
          {
              namespaceManager.CreateQueue(jobQueueName);
          } …
Run Code Online (Sandbox Code Playgroud)

c# azure azureservicebus azure-servicebus-queues

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

有没有办法在 Azure 队列或服务总线中获取“进程完成”消息事件?

我有非常基本的架构:

Web API 队列中的消息在 Queue 和 Worker(后台处理服务)中出队并处理消息。

问题是 Web API 不知道 Worker 何时处理了消息

Worker 是否可以提醒队列消息已成功处理,并且队列将“处理完成消息”事件发送回 Web API?

我正在考虑的一种解决方案:

Web API 对消息进行排队后,它每隔几秒检查一次消息状态:

如果消息状态为“Peck-Lock” -消息仍在处理中。

如果在队列中找不到消息- 消息已被处理(成功或不成功并不重要)。

但是微软没有现成的解决方案吗?

servicebus azure azure-queues azureservicebus

4
推荐指数
1
解决办法
2096
查看次数

在不等待答案的情况下调用方法异步

我有MVC应用程序,我想保留活动日志中有关我网站中的活动,例如,如果用户登录成功,则向我的数据库插入描述此活动的行(名称为X登录的用户)在时间Y与IP的Z.

问题是我需要等待结果,我不关心结果,我不希望结果阻止我,我想将它发送给函数(DB函数中的更新Activity表) )并继续.

我会自下而上开始:

这是我的数据查询功能:

public static void InsertLogRecord(LogRecord lg)
{
    try
    {
         string query = "INSERT INTO ActivityLog VALUES('" + lg.Id + "','" + lg.Time + "','" + lg.Executor + "','" + lg.ExecutedOn + "','" + lg.Action + "','" + lg.StartState + "','" + lg.EndState + "','" + lg.IP + "')";

         AdoHelper.ExecuteNonQuery(query);
    }

    catch(Exception ex)
    {
         throw ex;
    }

}
Run Code Online (Sandbox Code Playgroud)

这是我的Controller函数(调用前面的"InsertLogRecord"函数)

public void UpdateLog(string exeOn, string action, string sState, string eState)
{
     LogRecord lg = new LogRecord(Guid.NewGuid().ToString(), DateTime.Now, User.Identity.Name, …
Run Code Online (Sandbox Code Playgroud)

.net c# asp.net-mvc asynchronous async-await

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

如何在Azure中更新Web应用程序并始终保持应用程序

我有一个MVC Web应用程序(.NET),我不时需要升级Azure上的部署版本,问题是我有客户正在使用Web应用程序而我无法将其删除并使其不可用.

有一种方法可以部署我的Web应用程序的新版本并且仍然可以一直运行吗?(在部署过程中)

我能想到它的一种方法是将Web-App部署到我当前部署以外的某个地方,然后在我的外部域上"播放"DNS记录.

web-applications azure azure-deployment azure-web-sites

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