веб-часть работает на локальном сервере, но не работает на рабочем сервере, когда в веб-части используется класс «SPSite».На рабочем сервере выдает ошибку.Если я не использую этот класс в веб-части, веб-часть также будет работать на работающей машине.
Есть идеи, что может вызвать ошибку?
код в веб-части такой:*
namespace CompanyNews
{
[Guid("40de3c60-9e30-4050-b9f3-01e71868f522")]
public class CompanyNews : System.Web.UI.WebControls.WebParts.WebPart
{
private HtmlTextWriter writer;
public CompanyNews()
{
}
protected override void RenderContents(HtmlTextWriter writer)
{
base.RenderContents(writer);
using (SPSite site = SPContext.Current.Site)
{
using (SPWeb web = site.OpenWeb())
{
string listName = "News Display";
writer.Write(listName);
SPList list = null;
foreach (SPList currentList in web.Lists)
{
if (currentList.Title.Equals(listName,
StringComparison.InvariantCultureIgnoreCase))
{
list = currentList;
break;
}
}
writer.WriteBeginTag("ul");
foreach (SPListItem item in list.Items)
{
writer.Write("<li style=\"font-size:12px;padding:1px\">");
writer.Write(item["Title"].ToString() + "... ");
writer.Write("<a class=\"smallerred\" href=\"#\">Read More</a>");
writer.Write("</li>");
}
writer.WriteEndTag("ul");
}
}
}
}
}
DLL веб-части находится в папке bin, а в файле web.config есть запись для веб-пар в качестве безопасного элемента управления.Другая веб-часть, которая отображает сообщение «hellow world», также загружается в производство аналогичным образом.Я думаю, это код, который вызывает проблему.
Сообщение об ошибке: «Произошла ошибка при предварительном просмотре веб-части»