سؤال

أتابع هذا المنشور بلوق لإنشاء جدول تخزين أزور:http://blogs.msdn.com/jnak/archive/2008/10/28/walkthrough-simple-table-storage.aspx.

إنه يعمل بشكل جيد على Webform Web_Role ASP.NET.

لقد قمت بإعادة إنشاء نفس المشروع باستخدام ASP.NET MVC كدور ويب، فهو فشل دائما في بداية التطبيق. هذا الخط:

StorageAcCountInfo حساب = StorageacCountInfo.getDefaultTableStorageAcountFromconfiguration ()؛

يبدو أن تفشل دائما في الحصول على مفتاح الحساب المشترك.

إذا قمت بنقل الخط من تطبيق Global ASAX، فستبدأ في Default.aspx، فهو يعمل بشكل جيد تماما.

  • هل هناك أي اختلاف في تهيئة جدول تخزين في Azure ASP.NET MVC مقارنة مع Webform؟
  • لماذا لا يمكنني الحصول على Appsettings Azure عند بدء التطبيق؟

  • هذه هي المكدس استدعاء الخطأ من عارض الأحداث

    معلومات استثناء: نوع الاستثناء: رسالة استثناء HTTPException: لا يوجد مفتاح حساب محدد! طلب معلومات: طلب عنوان URL: http://127.0.0.1:5100/do.__rd_runtime_init__؟shutdownevent=1b671b93fd-4153-4834-9d5d-595efc6c19ee1d نوع مصادقة كاذبة: ***** معلومات الموضوع: ***** معلومات الموضوع: رقم السلاح: 6 اسم الموضوع: ***** هو انتحاليم: تتبع كومة كاذبة: في system.web.htttpapplicationFactory.ensureappstartcalledforintegritedmode (سياق httpcontext، تطبيق httpapplication ) في system.web.httttttpapplication.registereventsubtyscriphitiis (Intptr Appcontext، سياق httpccontext، MethodInfo [] [] .getSpecialApplicationInstance (Intptr AppContext، سياق HttpContext) في System.Web.htttpapplicationFactory.getPipelIneApPlicationInstance (Intptr Appcontext، سياق HttpContext) في System.Web.hosting.pipelineru ntime.initializapplication (intptr appcontext)
    هل كانت مفيدة؟

    المحلول

    تحقق من "تصريحات" في http://msdn.microsoft.com/en-us/library/microsoft.servicehosting.serviceruntime.rolmanager.aspx.:

    يعمل النسيج في Windows Azure IIS 7.0 في الوضع المتكامل. في الوضع المتكامل، لا يدعم حدث Application_Start الوصول إلى سياق الطلب أو إلى أعضاء فئة Rolemanager المقدمة من واجهة برمجة تطبيقات تشغيل Windows Azure SDK. إذا كنت تكتب تطبيق ASP.NET يصل إلى سياق الطلب أو استدعاء طرق فئة Rolemanager من حدث Application_Start، فيجب عليك تعديله للتهيئة في حدث Application_BeGinRequest بدلا من ذلك.

    للحصول على مثال يوضح كيفية استخدام الحدث Application_BeGinRequest، راجع عينة PersonalWebsite التي تشحن مع Windows Azure SDK.

    نصائح أخرى

    إذا كنت تستخدم:

    StorageAccountInfo account = StorageAccountInfo.GetDefaultTableStorageAccountFromConfiguration();
    

    عادة ما يتم تقديم معلومات الحساب في ملف Web.conf.

    <add key="TableStorageEndpoint" value="http://127.0.0.1:10002/devstoreaccount1" />
    <add key="AccountName" value="devstoreaccount1" />
    <add key="AccountSharedKey" value="YOUR ACCOUNT KEY PROVIDED BY AZURE"/>
    
    مرخصة بموجب: CC-BY-SA مع الإسناد
    لا تنتمي إلى StackOverflow
    scroll top