2013-04-28 2 views
1

Я обновлен до NancyFx v0.17. Теперь я получаю следующую ошибку, когда я ударяю представление с помощью модели.Nancy-0.17, startIndex не может быть больше, чем String

[ArgumentOutOfRangeException: startIndex cannot be larger than length of string. 
Parameter name: startIndex] 
    System.String.InternalSubStringWithChecks(Int32 startIndex, Int32 length, Boolean fAlwaysCopy) +10695231 
    System.String.Substring(Int32 startIndex) +12 
    Nancy.Conventions.<>c__DisplayClass19.<BuildContentDelegate>b__e(ResponseFactoryCacheKey pathAndRootPair) +271 
    System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory) +72 
    Nancy.Conventions.<>c__DisplayClass2.<AddDirectory>b__0(NancyContext ctx, String root) +614 
    Nancy.DefaultStaticContentProvider.GetContent(NancyContext context) +127 
    Nancy.NancyEngine.HandleRequest(Request request, Func`2 preRequest) +198 
    Nancy.NancyEngine.HandleRequest(Request request) +154 
    Nancy.Hosting.Aspnet.NancyHandler.ProcessRequest(HttpContextBase context) +86 
    Nancy.Hosting.Aspnet.NancyHttpRequestHandler.ProcessRequest(HttpContext context) +121 
    System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +341 
    System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +69 

Я ничего не изменилось, когда я модернизировал мой код не должен быть проблемой (так как он работал 5 минут до этого на v0.16).

например. Виды, которые вызывают эту ошибку

http://localhost:9742/_Nancy/info (Diagnostics is turned on) 

http://localhost:9742/messages/all 

например. NancyModule

public class MessageModule : BaseModule 
    { 
     public MessageModule() : base("messages") 
     { 
      var message = new Message 
         { 
          Id = 1 , 
          Name = "ashutosh", 
          Email= "[email protected]", 
          MessageContent ="Wassup Baker" 
         }; 
      var message2 = new Message 
      { 
       Id = 1, 
       Name = "Awesome", 
       Email = "[email protected]", 
       MessageContent = "Wassup Baker" 
      }; 
      var messages = new List<Message> {message, message2}; 
      Model = messages; 

      Get["/all"] = parameters => 
       { 
        return View["/Message/Index", Model]; 
       };   
     } 

корреспондент Просмотр

@inherits NancyRazorViewBase<System.Collections.Generic.IEnumerable<Message>> 

@{ 
    ViewBag.Title = "title"; 
    Layout = "/Common/_Layout"; 
} 

@RenderBody() 

<body> 
    <section id ="Messages"> 
     <div> 
      <div> 
       <table> 
        <thead> 
         <tr> 
          <th>Name</th> 
          <th>Message</th>        
         </tr> 
        </thead> 
        <tbody> 
         @foreach (var m in Model) 
         { 
          <tr> 
           <td>@m.Name</td> 
           <td><p>@m.MessageContent</p></td>        
          </tr> 
         } 
        </tbody> 
       </table> 
      </div> 
     </div>    
    </section>  
</body> 

ответ

2

Эта проблема была решена. Вы должны быть в состоянии обновить до 0.17.1, и ошибка должна исчезнуть. Спасибо

+0

Я протестировал это и исправил проблему. –