سؤال

كنت أرغب في knw إذا كانت هناك طريقة يمكننا تحميل /تنزيل عملية. أضف إزالة بيانات عرض العرض دون استخدام Webrole؟ إذا كان طلبي لديه الكثير من واجهة المستخدم الرسومية ، فهناك العديد من webroles؟ في كل مكان أرى ملف Webrole Default.aspx.cs له علاقة مع النقطة بناءً على حدث ما ؛ ما هو جيد تمامًا ، لكن ماذا لو كان واجهة المستخدم الرسومية أكثر تعقيدًا؟

هل كانت مفيدة؟

المحلول

يمكن الوصول إلى النقط من خلال مكالمات REST ، بحيث يمكنك في الواقع معالجة النقط مع تطبيق سطح مكتب محلي إذا كنت ترغب في ذلك ، حتى مكتوب في PHP أو Java.

بالنسبة إلى WebRoles: كل دور هو مجرد جهاز افتراضي يعمل على بعض الخادم في مكان ما. تشبه أدوار الويب أدوار العمال ، مع إضافة IIS. إذا كان لديك موقع ويب ، فيمكنك وضع موقع الويب بأكمله في غربول واحد. إذا كنت بحاجة إلى توسيع نطاقها للتعامل مع المزيد من المستخدمين ، فيمكنك إنشاء أكثر من "مثيل" لتلك Webrole - ثم يتم إرسال جميع طلبات موقع الويب الخاص بك إلى الحالات المختلفة ، كل منها تشغيل نفس الرمز. (نعم ، قد يكون لديك العديد من webroles لتطبيق معين - قد يكون هذا عمليًا اعتمادًا على تعقيد موقعك ، أو إذا كان لديك واجهة مستخدم مختلفة تمامًا للمسؤولين مقابل الزوار).

نصائح أخرى

لا تحتاج إلى استخدام دور ويب للوصول إلى Azure Storage (blob أو غير ذلك). يمكنك استخدام دور العامل ، أو يمكنك حتى الوصول إليه من تطبيق Windows Forms الذي يعمل على سطح مكتب ، أو تطبيق ويب/خدمة لا يعمل على Azure.

شاهد وثائق storageclient من Azure SDK للحصول على معلومات حول كيفية الوصول إلى Azure Storage - إنه أمر سهل للغاية.

لا تحتاج إلى مشروع Azure أو أدوار أخرى لاستخدام Blob. إذا كنت ترغب في استخدام عميل Azure في .NET Project ، يمكنك إضافة قسم إعدادات التكوين إلى تطبيقات التطبيق والرجوع إليه. عميل Azure هو غلاف للراحة. لديهم بعض خطوات توقيع الطلبات التي تجعل من الصعب تنفيذ المكالمات باستخدام WebRequests البسيطة.

 <add key="AzureBlobStorage" value="AccountName=youraccountname;AccountKey=YOURKEYeZgfgdfg==;DefaultEndpointsProtocol=https"/>

يمكنك الحصول على عميل Blob:

 public CloudBlobClient GetBlobClient()
    {
        var accountBlob = ConfigurationManager.AppSettings["AzureBlobStorage"];

        var account = CloudStorageAccount.Parse(accountBlob.ToString());


        return account.CreateCloudBlobClient();

    }


public CloudBlob GetBlob(BlobItem blobItem)
        {
            var client = GetBlobClient();
            var cloudBlobContainer = client.GetContainerReference(blobItem.ContainerReference);
            return cloudBlobContainer.GetBlobReference(blobItem.FileName);
        }

Blobitem هو مجرد غلاف. في الأساس ، تحتاج إلى اسم المجلد واسم ملف للوصول إلى نقطة.

 public class BlobItem
{
    [Required]
    [Display(Name = "Container")]
    public string ContainerReference { get; set; }
    [Required]
    [Display(Name = "File name")]
    public string FileName { get; set; }

    [Required]
    [UIHint("MultilineText")]
    public string Content { get; set; }

    /// <summary>
    /// to use in stream mode
    /// </summary>
    public Stream Stream { get; set; }
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top