2016-08-02 86 views
0

下面的配置方法沒有被觸發。配置(IAppBuilder)在啓動時未觸發

using Microsoft.Owin; 
using Owin; 

[assembly: OwinStartupAttribute(typeof(SCM.Web.Startup))] 
namespace SCM.Web 
{ 
    public partial class Startup 
    { 
    public void Configuration(IAppBuilder builder) { } 
    } 
} 

我已經照着所有從here的提示,這是一個新的項目,而不是升級。我不能在我的生活中看到如何讓它在斷點處停下來,我需要得到更多關於如何解決問題的建議。

這是一個Intranet應用程序,因此不會登錄。身份被設置爲Windows憑據。我需要分配角色,以便只有某些用戶可以訪問控制器中的某些操作。我通常使用OWIN和應用程序cookie,所以這也是我在這裏試圖遵循的方法。

回答

0

如果您在外部IIS上運行網站,或者在計算機上安裝的「真實」IIS上運行網站(而不是在開始運行時啓動的網站),則可能是因爲缺少因爲調試程序在您傳遞時尚未附加到進程中。

我認爲您可以通過檢查您的解決方案和項目的設置或者簡單地將此代碼添加到您認爲不通過的方法來確認它。

throw new Exception("Killroy was here..."); 
2

你需要一個OwinStartup屬性來告訴Owin調用什麼方法。從文檔:

用於標記程序集中的哪個類應用於自動啓動。

添加一個到您的項目,命名空間聲明之前:

[assembly: OwinStartup(typeof(Your.Namespace.Startup))] 
namespace Your.Namespace 
{ 
    public partial class Startup 
    { 
     public void Configuration(IAppBuilder builder) { } 
    } 
} 

還有一些其他的方法來讓Owin知道哪種方法(described here),但是這是最簡單也可能是最常見的。

+0

對不起,但我意識到我提供的信息不足。我沒有意識到這是有意義的,並試圖創造最小的,有代表性的例子,我切斷了比我應該更多。請接受我的道歉。我已經更新了這個問題。 –

+1

您沒有任何機會設置「owin:appStartup」的應用程序設置? – DavidG

+0

不,據我所知,解決方案中的任何地方都沒有這樣的字符串。不過,我明天會在工作中重新檢查,只是爲了確保。從MVC 4升級時,這個元素進來了吧?我的情況是一個乾淨的MVC 5.爲防萬一我第一次錯過了它,我檢查了 - 我該怎麼處理它?去掉? –

相關問題