我想在現有的asp.net web窗體應用程序中創建一個web服務,但它不工作。下面的代碼描述服務:添加一個Web服務(ASMX)到現有的asp.net窗體網站
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class TestService: System.Web.Services.WebService {
public TestService() {
//Uncomment the following line if using designed components
//InitializeComponent();
}
[WebMethod]
public string HelloWorld(string name) {
return "Hello " + name;
}
}
當我嘗試測試這個Web服務,瀏覽器嘗試下載服務,而不是執行它的:
另外,如果我嘗試引用另一個項目的服務,我收到以下錯誤:
url http://localhost:64925/services/TestService.asmx
上的文檔未被識別爲已知文檔類型。 從每個已知類型的錯誤消息可能會幫助您解決問題: - 從XML架構「的報告是'的文檔格式不能識別(內容類型是文本/ html;字符集= UTF-8
我的猜測是,這與'服務'目錄沒有正確配置有關,但如果將服務添加到網站的根目錄,我會得到同樣的問題。
我嘗試過aspnet_regiis .Net 2 我使用Visual Studio 2012和IIS快遞。
更新: 看來,該網站也被引用的SharePoint Web服務,我剛纔發現的錯誤的詳細信息如下奇怪的消息:
有下載http://localhost:64925/services/TestService.asmx/_vti_bin/ListData.svc/$metadata
錯誤。 請求失敗,HTTP狀態404:未找到。
正如它所說,這是無法識別的內容類型。因此,類型'asmx'沒有在IIS中正確註冊,所以當瀏覽器請求鏈接時,服務器認爲'這到底是什麼 - 我將它作爲一個純文件',因此下載。 – Stevo
@Stevo謝謝,但我該如何解決它與IIS Express運行Visual Studio 2012? – philreed
不幸的是我不能提供具體的指導(因爲我不知道)。我首先看看IIS配置。正如你所說的那樣,它可以在網站外的全新Web服務上運行,並且工作正常,所以IIS配置中的某些內容無法正常工作。我會查看現有站點與現有設備之間的差異,並逐一查找故障查找設置。對不起,我無法提供更多幫助。 – Stevo