Итак, этот код запускается в приложении asp.net в Linux. Код вызывает одну из моих услуг. (WCF не работает на моно в настоящее время, поэтому я использую asmx). Этот код работает как задумано при запуске из Windows (во время отладки). Как только я внедряюсь в Linux, он перестает работать. Я определенно сбит с толку. Я тщательно протестировал сервис, и сервис в порядке.
Вот код, выдающий ошибку: (NewVisitor - функция void, принимающая 3 строки)
//This does not work.
try
{
var client = new Service1SoapClient();
var results = client.NewVisitor(Request.UserHostAddress, Request.UrlReferrer == null ? String.Empty : Request.UrlReferrer.ToString(), Request.UserAgent);
Logger.Debug("Result of client: " + results);
}
Вот сгенерированная ошибка: Ссылка на объект не установлена для экземпляра объекта
Вот код, который отлично работает:
//This works (from the service)
[WebMethod(CacheDuration = _cacheTime, Description = "Returns a List of Dates", MessageName = "GetDates")]
public List<MySqlDateTime> GetDates()
{
return db.GetDates();
}
//Here is the code for the method above
var client = new Service1Soap12Client();
var dbDates = client.GetDates();
Я бы хотел выяснить, почему он говорит, что объект не установлен.
Использованные методы:
- новый клиент мыла.
- новый мыльный клиент с указанием адреса привязки и конечной точки
- Использовал фабрику каналов для создания и открытия канала.
Если понадобится больше информации, я могу дать больше. У меня нет идей.