Çok tip kumanda 'Ev adlı uyan' bulundu;
Ben şu anda iki alakasız MVC3 projeleri online ev sahipliği yaptı.
Biri çalışıyor, diğeri, bana hata vererek çalışmıyor:
Çok tip denetleyici adında eşleşen bulundu 'Ev'. Bu bu istek hizmetleri rotayı oluşabilir ('{denetleyicisi} {action}//{id}') aramak için bir ad belirtin istekle eşleşen bir denetleyici için.
Eğer durum buysa, 'MapRoute' yöntemi aşırı çağırarak bu rota kayıt bir götüren 'ad' parametresi.
Benim hoster çalışır şekilde bana FTP erişim verir ve o klasör içinde iki klasör, benim uygulamalar her biri için bir tane var.
ftpFolderA2/foo.com
ftpFolderA2/bar.com
foo.com gayet iyi çalışıyor, ben yerel dosya sistemi başvurum sonra içeriğini yayınlama FTP ve çalışıyor.
Yüklediğim zaman ve bar.com ve benim sitesini kullanarak beni yangınları önler yukarıdaki sorun çalıştırmayı deneyin.Tüm bunları yaparken foo.com hala çalışıyor.
. Bar.com HomeController
Bir başka bulgu bu yüzden ftpFolderA2 her YERDE içinde kontrol edilebilir. Nasıl olması gerektiği gibi sadece Kumanda klasörde aramak için söyleyebilir miyim?
Gerçekler:
- Alanlarını kullanarak değil. Bu TAMAMEN alakasız iki proje var. Her ilgili klasöre yayımlanan her proje değil bence. Hiçbir şey fantezi.
- Her proje sadece 1 HomeController.
Birisi bu sorunu olduğunu teyit edebilir?
CEVAP
Bu hata iletisi genellikle alanlarda kullandığınızda olur ve alanı ve kök içinde aynı denetleyicisi adı var. Örneğin, iki vardır:
~/Controllers/HomeController.cs
~/Areas/Admin/Controllers/HomeController.cs
Bu sorun, hata mesajı da anlaşılacağı gibi) gidermek için yollar bildirirken ad kullanabilirsiniz. Global.asax
ana rota tanımı:
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional },
new[] { "AppName.Controllers" }
);
ve ~/Areas/Admin/AdminAreaRegistration.cs
:
context.MapRoute(
"Admin_default",
"Admin/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional },
new[] { "AppName.Areas.Admin.Controllers" }
);
Eğer alanları kullanıyorsanız eğer her iki uygulama aynı ASP.NET uygulama içinde barındırılan ve çatışmalar aynı denetleyicileri farklı ad tanımladığınız oluşur gibi görünüyor. Eğer çatışmalar bu tür önlemek istiyorsanız IIS bu ikisi çok ayrı ASP.NET ana bilgisayar uygulamaları için yapılandırmak zorunda kalacaksınız. Eğer sunucuya erişim yok, eğer doğru değilse bunun için hosting sağlayıcınızla görüşün.
Ne zaman UİViewController adlı viewDid...
Nasıl & a adlı bağlantı oluşturmak içi...
Olan proje ile aynı adı taşıyan birden...
Raylar 3 activerecord, " için en i...
Sigara bulundu anahtarları için varsay...